AFAIK for at fjerne disse ekstra forespørgsler, fjern alle dine modifikatorer til din @Transactional
anmærkninger. Den pris, du betaler for at begrænse dit isolationsniveau til READ_COMMITED
er, at Hibernate bliver nødt til at udføre ekstra forespørgsler for at afgøre, om databasen er i en beskidt tilstand. I 90 % af tilfældene er disse modifikatorer unødvendige. Hibernate er meget god til at sikre, at dine data bliver rene, uden at du forsøger at tilføje disse begrænsninger.
Hvis det er absolut nødvendigt for dig at sikre, at din isolation er READ_COMMITTED
, du kan ikke gøre noget ved de ekstra forespørgsler.
Flytter til en StatelessSession
bare at slippe af med disse forespørgsler er en dårlig idé af præcis den grund, du påpegede. Virkelig den eneste gyldige grund til at bruge en StatelessSession
er til store batch-indsættelser af data, som du ved ikke vil blive læst, mens indsættelsen finder sted.