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