0

遅延ロードされたオブジェクトを取得しようとしているときに、「プロキシを初期化できませんでした - セッションがありません」というメッセージが表示されました。これは、オブジェクトが切り離されており、最初に更新する必要があるためです。私の質問は、なぜこれが機能するのかです:

repo.update(object);
object.getSomeList();

そうでない場合:

object = repo.merge(object);
object.getSomeList();

repo.evict(object);
repo.get(objectClass,object.primaryKey());
object.getSomeList();

Repo は、Session への参照を持ち、session.saveOrUpdate(...)、session.merge(...) などを実行する私のリポジトリ クラスです。

すべてのバージョンで永続オブジェクトを取得できると思っていたので、もう切り離されていません。本当?はいの場合、セッションエラーが発生しませんか? いいえの場合、なぜいいえですか? :)

4

1 に答える 1

0

私があなたの問題を理解したなら、あなたはレイジープロパティを初期化するべきです

Hibernate.initialize(object.getSomeList());
于 2012-12-12T11:19:27.470 に答える