私はHibernate 5.0でSpringブートプロジェクトで作業しています。残念ながら、Hibernateは、トランザクションがコミットされた後でも、LazyInitializationException
を投げずに、遅延初期化オブジェクトを読み込みます。 LazyInitializationException
をトランザクション外にするにはどうすればよいですか?HibernateがSpringブートプロジェクトでLazyInitializationExceptionをスローしていない
(現在の動作は、コードのバグを隠します。)
詳細をお知らせください。 showSqlオプションを有効にし、hibernateによって発行されたクエリを調べ、トランザクション中に遅延フィールドが取得されているかどうかを確認します。 –
本当に遅延オブジェクトが本当に初期化されていますか? – Lino
Lazy-loadingはトランザクションとは関係ありませんが、EntityManagerのライフサイクルはリクエスト全体でデフォルトで開いています(以下のBabtisteの回答を参照してください)。あなたは "隠れバグ"の陳述を詳しく説明できますか?なぜ適切な結果を返すメソッドを呼び出すことができないのですか? –