Ja po tom nepotrebuju nic jineho nez aby mi vratil kolekci objektu ktere mam v pameti a ktere poslu pres ajax uzivateli. Jelikoz to resim ecatalog-managerem, musim uzavrit i tu session ihned po provedeni dotazu. Nikdy se neptam na desitky tisic objektu. maximalne na 25-50 a to je v pohode. Nejde vypnou lazy jenom pro dany dotaz? abych nemusel toto resit globalne v xml? v jinych pripadech se mi to totiz hodi.
Pet Arnošt Havelka wrote: > Ahoj, > > tohle mozna pomuze, ale je otazka, zda je to nezbytne nutne. Je treba > si uvedomit, co se presne deje. > > Pri zavreni session nedojde k zahozeni objektu, takhle chyba vznikne > az ve chvili, kdy se z daneho objektu pokousite cist "lazy property" a > session je jiz uzavrena. > > Arny > > Vaclav Pech napsal(a): >> Ahoj, >> >> myslím, že by pomohlo před uzavřením session zavolat >> Hibernate.initialize(result). Tím zajistíte, že Hibernate nahraje >> všechny objekty do paměti. >> >> Vašek >> >> >> -----Original Message----- >> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] >> Behalf Of Burdik Petr >> Sent: Friday, September 22, 2006 9:35 AM >> To: Java >> Subject: hibernate - fetching strategies >> >> >> Ahojda, >> mozna jsem se prehnlednul kdyz jsem se na to dival, ale mam problemek s >> proxy u hibernate. >> >> text chyby: >> 2006-09-22 09:13:06,317 ERROR >> [org.hibernate.LazyInitializationException] - <could not initialize >> proxy - the owning Session was closed> >> org.hibernate.LazyInitializationException: could not initialize proxy - >> the owning Session was closed >> >> Mam nasledujici kod na kterem tu chybu testuju: >> public ArrayList getArticleSalesHistory( long oid ) { >> ArrayList result = new ArrayList(); >> Session session = this.sessionFactory.openSession(); >> try { >> ArrayList list = (ArrayList) session >> .createQuery("from PriceWTimestamp item where >> item.article.oid=?") >> .setParameter(0, new Long(oid)) >> .list() >> ; >> if(list!=null) result = list; >> } catch (Exception ex) { >> logger.error(ex.getLocalizedMessage()); >> } >> session.close(); >> return result; >> } >> >> Pak k tomu seznamu cen pristupuju a vznikne tento problem. Chapu asi o >> co jde. On pri session.close() ty objekty zahodi. Jak to tedy nastavit >> tak, aby mi vytvorene objekty nerusil? Jde o to ze se mi nechce >> prochazet znovu pole a delat klony, ktere by pak fungovaly jak maji. >> >> Pet >> >>
