Title: Message
Kolegovia,
 
začínam s Hibernate a mám problém samozrejme s LazyInitializationException. Mám v Springu potomka HibernateDaoSupport, kde mám DAO metódu, ktorá vracia List. Nejako takto:
  ...
  HibernateTemplate template = getHibernateTemplate();
  List list = template.find("from EngineStationTO");
  ...
Ten EngineStationTO obsahuje aj nejaké asociácie, ktoré sa pri default nastavení lazy select fetching samozrejme nenačítajú. Sranda je však tá, že samotná metóda find() zatvára session a teda nemám možnosť dotiahnuť tie asociácie žiadnym spôsobom (napr. Hibernate.initialize(list) ) takže vždy dostanem LazyInitializationException.
 
 
Pozeral som sa, ako to rieši napr. Springový web filter OpenSessionInViewFilter. Ten na začiatku requestu použije:
 
session = getSession(sessionFactory);
TransactionSynchronizationManager.bindResource(sessionFactory, new SessionHolder(session));
a na konci:
TransactionSynchronizationManager.unbindResource(sessionFactory);
ale mimo web aplikácie? Zdá sa mi, že by to mohlo ísť aj jednoduchšie. Samozrejme, môžem zakázať lazy inicializáciu, alebo nakonfigurovať objekty bez asociácií, ale to by bola škoda.
 
Rastislav "Bedo" Siekel.
 

Ing. Rastislav Siekel
Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
E-mail : <[EMAIL PROTECTED]>
Tel : 041/562 54 91
Fax : 041/562 54 97
Mobil : 0905 34 00 20
 

Odpovedet emailem