Hibernate many-to-one a lazy

jmanousek na mikros.cz jmanousek na mikros.cz
Středa Únor 18 11:26:57 CET 2009


Ahoj,

nedaří se mi donutit Hibernate 3.3.0. používat LAZY na vazbě many-to-one.
Pořád má tendenci plnit takto asociované objekty ihned, a to i do hloubky 
stromu objektů.
V diskusích je spousta podobných problémů včetně bug hib 3.1.1 a 
zprovoznění v 3.1.2 
http://forum.hibernate.org/viewtopic.php?t=954713

Myslím že problém bude někde u mě - můžete mi někdo poradit?

<class name="Adresa" table="ADRESA" >
       ..
        <many-to-one name="posta" column="POSTA_ID" unique="false" 
not-null="false"/>
</class>

<class name="Posta" table="POSTA" > 
        ..
</class>

Pokud provedu session.get(Adresa.class, id) - volané v Springovém 
HibernateCallback - , 
vždy se okamžitě s adresou plní i kompletní objekt Posta.
Zkoušel jsem explicitně nastavovat lazy v definici classu i v definici 
many-to-one, ale nic se nemění. 
Zkoušel jsem i změnu nastavení hibernate.max_fetch_depth, ale to má vliv 
pouze na způsob získání 
asociovaných objektů, nikoliv na hloubku stromu objektů (namísto lef-joinů 
se ihned vykoná samostatný select).
Zajímavé je, že "občas" se někam PROXY vloží: jakoby na to Hibernate 
používal vnitřní pravidla a neřídil se striktně předpisem lazy.

Díky za pomoc,
Jara
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://amaio.cz/pipermail/konference/attachments/20090218/d47ae0b7/attachment.htm>


Další informace o konferenci Konference