Hibernate3中的属性延迟加载

来源:互联网 发布:sql查询语句大全 编辑:程序博客网 时间:2024/04/30 03:15

Hibernate3增强了对实体属性的延迟加载功能,要实现这个功能,分两个步骤

1.在hbm配置文件上对某个property设置lazy=true
   <property name="resume" type="java.lang.String" column="resume" lazy="true"/>

2.需要对拥有resume的实体类二进制class文件进行强化处理(会嵌入很多CGLIB代码) 

    Ant脚本如下:

   

<project name="hibernateSample" default="instrument" basedir=".">
   
<property name="lib.dir" value="./lib"/>
   
<property name="classes.dir" value="./bin"/>
   
<path id="lib.classes.path">
      
<fileset dir="${lib.dir}">
         
<include name="**/*.jar"/>
      
</fileset>
   
</path>
   
<target name="instrument">
      
<taskdef name="instrument" classname="org.hibernate.tool.instrument.InstrumentTask">
         
<classpath path="${classes.dir"}/>
         
<classpath path="lib.class.path"/>
      
</taskdef>
      
<instrument verbose="true">
          
<fileset dir="${classes.dir}/com/redsage/hibernate/db/enity">
             
<include name="TUser.class"/>
          
</fileset>
      
</instrument>
   
</target>
</project>

此脚本位于eclipse项目的根目录下,  ./bin为eclipse的默认编译输出路径, ./lib下存放了所需的jar(hibernat3.jar及Hibernate所需的类库)

原创粉丝点击