我目前正在阅读Vlad Mihalcea的书籍《高性能Java持久化》。
在字节码增强部分中,提到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
可以替代独立处理双向关系,像 enableDirtyTracking
和 Reflections 一样替代 enableLazyInitialization
?
不幸的是,我没有找到任何关于 enableExtendedEnhancement
的信息。因此,我和上述问题一样。我应该使用它吗?或者有什么缺点吗?
enableLazyInitialization
、enableDirtyTracking
和enableAssociationManagement
。在添加_add/remove_方法时,我遇到了这些设置的错误 :-(。我想我以后在启动新项目时都会禁用这些属性。 - undefined