Übersicht
Die Open Session in View (OSIV)-Strategie von Hibernate ist im Lieferumfang enthalten mehrere Nachteile, insbesondere in Multi-JVM-Umgebungen und wenn sofortige Transaktions-Commits gewünscht sind. Trotz der Bequemlichkeit, die es in Einzel-JVM-Anwendungen bietet, raten Experten von seiner Verwendung ab.
Probleme mit OSIV
OSIVs Hauptsorge ergibt sich aus seinem unorthodoxen Ansatz beim Datenabruf. Dadurch bleibt der Persistenzkontext während des Renderns der Benutzeroberfläche geöffnet, sodass verzögerte Zuordnungen bei Bedarf initialisiert werden können. Dies führt zu mehreren Nachteilen:
LazyLoadExceptions vermeiden
Anstatt sich auf OSIV zu verlassen, können alternative Strategien eingesetzt werden, um LazyLoadExceptions zu verhindern:
OSIV in Spring Boot deaktivieren
In Spring Boot wird OSIV aktiviert durch Standard. Um es zu deaktivieren, fügen Sie die folgende Zeile zur Datei application.properties hinzu:
spring.jpa.open-in-view=false
Dadurch wird OSIV deaktiviert, sodass Entwickler LazyLoadExceptions angemessener behandeln können.
Das obige ist der detaillierte Inhalt vonSollte ich die Open Session in View-Strategie von Hibernate verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!