Hibernate - Улучшение байт-кода - PullRequest
1 голос
/ 09 ноября 2019

Я сейчас читаю книгу Влада Михальчи 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 Reflections? К сожалению, я не смог найти ничего о enableExtendedEnhancement. Вот почему у меня тот же вопрос, что и выше. Должен ли я просто использовать это? Или какие недостатки вытекают из этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...