Hibernate Byte代码检测不适用于5.1.0版本

时间:2016-03-14 21:11:58

标签: java hibernate

我想在属性级别上进行延迟加载。我为Hibernate 4.3.11版本的模型类做了字节码检测。它没有任何问题,工作正常。但是当我将我的jar升级到5.1.0时,相同的字节代码检测工作无法正常工作。

我用Google搜索,但同样没有运气。如果有人有任何想法,请告诉我。

我的POM.xml适用于4.3.11版本

<插件>

            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <id>hib-bytecode-optimize</id>
                    <phase>process-classes</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <taskdef name="instrument"  classname="org.hibernate.tool.instrument.javassist.InstrumentTask">
                                <classpath>
                                    <path refid="maven.dependency.classpath" />
                                    <path refid="maven.plugin.classpath" />
                                </classpath>
                            </taskdef>
                            <instrument>
                                <fileset dir="${basedir}/build/classes/xxx/yyy/">
                                    <include name="*.class" />
                                </fileset>
                            </instrument>
                            <echo>*** Hibernate bytecode optimization *** ${basedir}</echo>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
        </plugin>

1 个答案:

答案 0 :(得分:0)

我认为ANT乐器工具已被弃用。

5.0版有一个等级工具,可以通过maven调用:

<build>
    <plugins>
        [...]
        <plugin>
            <groupId>org.hibernate.orm.tooling</groupId>
            <artifactId>hibernate-enhance-maven-plugin</artifactId>
            <version>$currentHibernateVersion</version>
            <executions>
                <execution>
                    <configuration>
                        <failOnError>true</failOnError>
                        <enableLazyInitialization>true</enableLazyInitialization>
                        <enableDirtyTracking>true</enableDirtyTracking>
                        <enableAssociationManagement>true</enableAssociationManagement>
                    </configuration>
                    <goals>
                        <goal>enhance</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        [...]
    </plugins>
</build>