以前、* LazyIntialization exception: Proxy not found - Session was closed *の解決策について質問を投稿しました。しかし、コードの後半で、get() メソッドの代わりに load() メソッドを使用してエンティティ オブジェクトを取得していることに気付きました。そのため、load() メソッドを get() に変更すると、機能し始めました。
以下はコードのスニペットです。
Answer answerObj = HibernateTemplate.load(Answer.class,1001); --> line 1
answerObj.setPoints(2990); --> line 2
これを実行すると、LazyInitialization exception:Proxy not found on line 2 がスローされました。
load() メソッドを使用すると、データベースからの永続的な行ではなくプロキシ オブジェクトが返されることを理解しています。したがって、私の Answer オブジェクトには Id 値だけがあり、他のすべてのプロパティは空です。
コードの 2 行目で、プロキシ オブジェクトの (Answer) プロパティの 1 つを何らかの値に設定しようとしました。それでは、なぜプロキシが利用できないという例外をスローしているのでしょうか? プロキシ オブジェクト プロパティに値を代入する際に間違っていることは何ですか?