0

私はHibernateにマッピングされたこのような構造を持っています(古いプロジェクトなのでXDocletを使用しています):

public class Student {
     String name;
     int age;
     School school;    //many to one
     // ...
}

public class School {
     String name;
     // ...
}

次のように、学生の学校名を(学生オブジェクトを使用して)出力したいと思います。

System.out.println("School name: " + student.getSchool().getName());

しかし、私は得ています:

org.hibernate.LazyInitializationException: プロキシを初期化できませんでした - セッションがありません

私はマッピング ファイルを変更したくありません (私はこれの作成者ではないため)。この問題の他の解決策は何ですか?

4

2 に答える 2

0

セッションが閉じられる前に、コードが学生のアクセサメソッドを呼び出すことを確認してください。または、春とトランザクションを使用している場合は、セッションがアクティブな範囲内にある必要があります。

于 2013-08-19T17:40:03.260 に答える
0

学生オブジェクトをどのように読みましたか?
戻る前にセッションを閉じるメソッドからを読み取っている場合、コレクションStudentにアクセスすると. セッションのライフサイクルを確認することをお勧めします。@LazyLazyInitializationException

于 2013-08-19T17:36:20.573 に答える