AFAIK, за да премахнете тези допълнителни заявки, премахнете всичките си модификатори на вашия @Transactional
анотации. Цената, която плащате за ограничаване на нивото на изолация до READ_COMMITED
е, че Hibernate ще трябва да изпълни допълнителни заявки, за да определи дали базата данни е в мръсно състояние. В 90% от случаите тези модификатори са ненужни. Hibernate е много добър в гарантирането, че вашите данни ще бъдат чисти, без да се опитвате да добавяте тези ограничения.
Ако е абсолютно необходимо да се уверите, че вашата изолация е READ_COMMITTED
, не можете да направите нищо за допълнителните заявки.
Преминаване към StatelessSession
просто да се отървете от тези запитвания е лоша идея точно поради причината, която посочихте. Наистина, единствената валидна причина да се използва StatelessSession
е за големи пакетни вмъквания на данни, за които знаете, че няма да бъдат прочетени, докато се извършва вмъкването.