Wie funktionieren Transaktionen aus einer schreibgeschützten Perspektive in Spring JPA + Hibernate?Java

Java-Forum
Anonymous
 Wie funktionieren Transaktionen aus einer schreibgeschützten Perspektive in Spring JPA + Hibernate?

Post by Anonymous »

Lassen Sie mich vor der eigentlichen Frage einige Hintergrundinformationen geben: Kürzlich bin ich auf ein N+1-Problem gestoßen, das laut diesem Artikel von Vlad Mihalcea durch Vorabrufen der Entitäten aus den Beziehungen innerhalb desselben Persistenzkontexts gelöst werden konnte. Tatsächlich wurde das N+1-Problem gelöst (auf eine feste Anzahl von 10 Abfragen). Allerdings wurde die Leistung nach dieser Implementierung drastisch verringert, und ich versuche immer noch herauszufinden, warum. Manchmal kam es sogar zu einer Zeitüberschreitung, wenn ich versuchte, eine Verbindung zur Datenbank herzustellen, mit der Fehlermeldung „JDBC-Verbindung konnte nicht erworben werden“.
Meine Frage ist also: Was passiert wann hinter den Kulissen? Ich verwende @Transactional(readOnly=true) in einer Methode? Erstellt es eine Sperre, während die Methode ausgeführt wird? Wenn ja, was könnte ich tun, um sicherzustellen, dass ich mich im gleichen Persistenzkontext befinde und daher mit dem Prefetch das erreiche, was ich will?
Alles, was mich in die Richtung des Tatsächlichen weisen könnte Problem wäre sehr dankbar.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post