lazy只有真正使用时才能查询数据库
cglib是对生成的类进行代理 JDK动态代理 只对生成的接口类进行代理
cglib是继承该类生成了子类 返回给使用者,在真正调用代理方法时会检查是否加载了目标对象,如果没加载它才会真正的去访问。
hibernate3.0 lazy在使用标签上默认为true;
lazy:使用的标签有:
<class> 取值为false/true, 注意: class标签里的 lazy只对普通属性有效,如:即使把class标签里的lazy属性设置为false 如:list,set
仍支持延迟加载。
<propety> 取值为false/true(需要使用类增强工具,修改字节码),
<list> 取值为:false true extra
<set> 取值为:false true extra
<one-one> <many - one> 单端关联上 取值为:false/proxy/noproxy
lazy生效期和session一致 session关闭lazy失效
采用方法:
web.xml
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>