Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Unnötige Abfragen in Hibernate - MySql

AFAIK, um diese zusätzlichen Abfragen zu entfernen, entfernen Sie alle Ihre Modifikatoren zu Ihrem @Transactional Anmerkungen. Der Preis, den Sie zahlen, wenn Sie Ihre Isolationsstufe auf READ_COMMITED beschränken ist, dass Hibernate zusätzliche Abfragen durchführen muss, um festzustellen, ob sich die Datenbank in einem fehlerhaften Zustand befindet. In 90 % der Fälle sind diese Modifikatoren unnötig. Hibernate ist sehr gut darin sicherzustellen, dass Ihre Daten sauber sind, ohne dass Sie versuchen, diese Einschränkungen hinzuzufügen.

Wenn es für Sie absolut notwendig ist sicherzustellen, dass Ihre Isolierung READ_COMMITTED ist , können Sie nichts gegen die zusätzlichen Abfragen tun.

Wechsel zu einer StatelessSession Nur diese Abfragen loszuwerden, ist aus genau dem von Ihnen genannten Grund eine schlechte Idee. Wirklich, der einzig gültige Grund, eine StatelessSession zu verwenden ist für große Batch-Einfügungen von Daten gedacht, von denen Sie wissen, dass sie während der Einfügung nicht gelesen werden.