Hibernate的属性延迟加载设置有关问题
Hibernate的属性延迟加载设置问题已经对相应的实体属性设置了lazytrue,但是发现属性延迟加载设置没有其
Hibernate的属性延迟加载设置问题
已经对相应的实体属性设置了lazy="true",但是发现属性延迟加载设置没有其作用,上网查了下,是因为Hibernate3属性延迟加载机制在配置外,还需要用类增强器对二进制Class文件进行强化处理(借助ANT),
于是我参照目前普遍的build.xml设置修改如下,
XML code<?xml version="1.0" encoding="UTF-8"?><project name="hibernatelazy" default="instrument" basedir="."> <property name="lib.dir" value="./lib"/> <property name="classes.dir" value="./classes"/> <path id="lib.class.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 refid="lib.class.path"/> </taskdef> <instrument verbose="true"> <fileset dir="${classes.dir}/entity"> <include name="House.class"/> </fileset> </instrument> </target></project>
修改了实体类的位置,其他几乎完全按照网上,然后放在项目的web-inf下,与web.xml同目录。
但是在xml文件中提示org.hibernate.tool.instrument.InstrumentTask找不到
对build,xml执行ant build命令,控制台输出信息如下
instrument:
BUILD FAILED
F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\build.xml:12: taskdef class org.hibernate.tool.instrument.InstrumentTask cannot be found
sing the classloader AntClassLoader[F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\classes;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\antlr-2.7.6.jar;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\commons-collections-3.1.jar;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\dom4j-1.6.1.jar;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\hibernate3.jar;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\javassist-3.9.0.GA.jar;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\jta-1.1.jar;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\ojdbc6.jar;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\servlet-api.jar;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\slf4j-api-1.5.8.jar;F:\eclipse_workspace\eclipse8\Fwxx_New\WebRoot\WEB-INF\lib\slf4j-simple-1.5.8.jar]
请问错在哪里,谢谢各位了,网上相关信息也少,我用的是Hibernate-3.3.2GA版本,谢谢了。
Hibernate的属性延迟加载怎么那么复杂啊,其他的延迟加载测试都没有任何问题
[解决办法]把org.hibernate.tool.instrument.InstrumentTask设为org.hibernate.tool.instrument.javassist.InstrumentTask,然后再跑跑看。