我目前正在阅读弗拉德·米哈尔西娅(Vlad Mihalcea)的书High-Performance Java Persistence
。在“字节码增强”部分中,据说enableDirtyTracking
可以通过替换反射来优化大量数据的性能。但是我只是想知道是否有任何缺点?不幸的是,我找不到任何信息,或者只有非常旧的信息。
<plugin>
<groupId>org.hibernate.orm.tooling</groupId>
<artifactId>hibernate-enhance-maven-plugin</artifactId>
<version>${hibernate.version}</version>
<executions>
<execution>
<configuration>
<failOnError>true</failOnError>
<enableDirtyTracking>true</enableDirtyTracking>
<enableLazyInitialization>false</enableLazyInitialization>
<enableAssociationmanagement>false</enableAssociationmanagement>
<enableExtendedEnhancement>false</enableExtendedEnhancement>
</configuration>
<goals>
<goal>enhance</goal>
</goals>
</execution>
</executions>
</plugin>
在Hibernate文档中进行进一步研究时,我遇到了另外三个属性(enableLazyInitialization
,enableAssociationmanagement
,enableExtendedEnhancement
)。但是我在互联网上找不到很多。如果我正确理解,enableAssociationmanagement
会使双向关系的独立处理变得多余,并像enableLazyInitialization
一样替换enableDirtyTracking
?不幸的是,我找不到关于enableExtendedEnhancement
的任何信息。这就是为什么我有与上述相同的问题。我应该使用它吗?还是由此带来的不利条件?