3

util.Listはインスタンスを取得します。各インスタンスには別のコレクションがあります。コレクションのすべてのインスタンスを初期化したい。これがその方法です。

Hibernate.initialize(parentList);  

しかし、セッションが閉じられたとき。parentListのオブジェクトのプロパティを取得できます。ただし、そのコレクションのインスタンスのプロパティは取得できません。初期化の方法が間違っているか、他の問題がありますか?または、すべてのインスタンスを初期化する方法。

4

2 に答える 2

10
Hibernate.initialize(parentList);

リスト内の関連付けではなく、リスト内のオブジェクトを初期化するだけです。

ドキュメントから:

注:これにより、プロキシオブジェクトまたはコレクションの初期化のみが保証されます。コレクション内の要素が初期化/マテリアライズされることは保証されていません。

編集:コメントによる

私が1つのStudentエンティティを持っていて、すべての学生エンティティがエンティティのリストを持っているとしましょうCourse。次に、学生リストを次のように初期化できます。

for (Student student : studentList) {
     Hibernate.initialize(student.getCourses());
}
于 2012-05-01T15:44:08.453 に答える
0

クリーンな作業方法は、遅延読み込みを使用し続け、値オブジェクトのデザインパターンを使用して、永続オブジェクトから値オブジェクトに、またはその逆にデータを転送することです。

于 2013-09-25T13:54:31.180 に答える