hibernateはどのようにロードを遅らせたのか
Hibernate 。
, 。 Hibernate , <class> lazy 。 Session , load ; , get、qurey , lazy false true. , , 。 load ( ), load ; <class> lazy , load 。
、 。 , 、 。
<set> 。<set> lazy outer-join , 。
1) : , lazy=false,outer-join=false. , , 。
2) : lazy=true,outer-join=false(outer-join=true ), 。
3) : lazy=false,outer-join=true, id (load、get), query ( )。 , sql , Hibernate , <set> outer-join=true.
<many-to-one>、<one-to-one> 。<many- to-one> outer-join, one <class> lazy ( <many-to-one> lazy ), :
1) outer-join=auto: , lazy=true , lazy=false 。
2) outer-join=true, lazy, 。
3) outer-join=false, lazy=true , 。
, (outer-join=auto,lazy=false), one Hibernate 。 , , one ( id); , , select , , Hibernate hibernate.max_fetch_depth 。 ,query , 。
, 。 , select ( )、 , select , 。 , select ( batch-size )。 , select , select , 。 , , , ( )。 , show_sql Hibernate sql 。