V dobe kdy se pokousite ziskat data z kolekce je jiz session uzavrena a proto to skonci vyjimkou, v pripade webove aplikace by to melo vyresit pouziti filtru, ktery na zacatku requestu otevre session a uzavre ji az na konci zpracovani, takze pak je session otevrena celou dobu zpracovani a nemelo by to padat, v pripade pouziti springu je mozne pouzit OpenSessionInViewFilter ktery toto dela

Ivan Polák wrote:
zdravim,

pouzivam hibernate a v objekte A mam List objektov typu B:

@OneToMany(mappedBy = "objektB", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
   @JoinColumn(name = "fk_b_id")
   private List<B> objektyB;

ako vidiet hore pouzivam Lazy loading, ked nacitam objekt A:

A objektA = objektAManager.getA(id-cko);

natahujem objekt pomocou funkcie:

getHibernateTemplate().get

teda je jasne ze List objektov premenna objektyB nie je nacitany.

ako dosiahnem nacitanie "dotiahnutie" aj premennych typu List (pripadne inych collections) v objekte A.

vypisuje to nasledovnu chybu:

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.freightservice.model.Shipper.shipperLicenceCertificateParameters, no session or session was closed


dakujem

Ivan



__________ Information from ESET Smart Security, version of virus signature database 2886 (20080219) __________

The message was checked by ESET Smart Security.

http://www.eset.com




Odpovedet emailem