hibernate lazy 策略

    技术2022-05-19  24

    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>

     

     

     


    最新回复(0)