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