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

Odpovedet emailem