立即检索:
* 当执行某行代码的时候,马上发出SQL语句进行查询.
* get()方法
延迟检索:
* 当执行某行代码的时候,不会马上发出SQL语句进行查询.当真正使用这个对象的时候才会发送SQL语句.
* load()方法
类级别检索和关联级别检索:
* 类级别的检索:
* <class>标签上配置lazy
* 关联级别的检索:
* <set>/<many-to-one>上面的lazy
从一的一方关联多的一方:
* <set>
* fetch:控制sql语句的类型
* join :发送迫切左外连接的sql语句,同时查询对象及关联对象,此时,lazy属性就失效了。
* select :默认值,发送多条SQL查询关联对象.
* subselect :发送子查询查询关联对象.(需要使用Query接口测试)
* lazy:控制关联对象的检索是否采用延迟.
* true :默认值, 查询关联对象的时候使用延迟检索
* false :查询关联对象的时候不使用延迟检索.
* extra :极其懒惰.
***** 如果fetch是join的情况,lazy属性将会忽略.
在多的一方关联一的一方:
* <many-to-one>
* fetch:控制SQL语句发送格式
* join :发送一个迫切左外连接查询关联对象.fetch=”join”,lay属性会被忽略.
* select :发送多条SQL检索关联对象.
* lazy:关联对象检索的时候,是否采用延迟
* false :不延迟
* proxy :使用代理.检索订单的时候,是否马上检索客户 由Customer对象的映射文件中<class>上lazy属性来决定.
* no-proxy :不使用代理