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所需的类库)
1万+

被折叠的 条评论
为什么被折叠?



