概要
Hibernate の Open Session in View (OSIV) 戦略には次のような特徴があります特にマルチ JVM 環境やトランザクションの即時コミットが必要な場合には、いくつかの欠点があります。単一 JVM アプリケーションで提供される利便性にも関わらず、専門家はその使用を控えるようアドバイスしています。
OSIV の問題
OSIV の主な懸念は、データ取得に対するその型破りなアプローチにあります。 UI のレンダリング中に永続コンテキストを開いたままにし、要求に応じて遅延関連付けを初期化できるようにします。これにより、複数の欠点が生じます。
LazyLoadExceptions の回避
OSIV に依存する代わりに、別の戦略を使用して LazyLoadExceptions を防ぐことができます:
Spring Boot での OSIV の無効化
Spring Boot では、OSIV がデフォルトで有効になっています。これを無効にするには、application.properties ファイルに次の行を追加します。
spring.jpa.open-in-view=false
これにより OSIV が無効になり、開発者がより適切な方法で LazyLoadExceptions を処理できるようになります。
以上がHibernate の Open Session in View 戦略を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。