休止状態プログラムの奇妙な状態を見つけました。これが私のコードです
public Set<AnotherClass> getAnotherClassSetsFromSomeClass() {
Session session = HIbernateUtil.getSessionFactory().openSession();
Transaction trans = session.beginTransaction();
SomeClass sc = (SomeClass)session.get(SomeClass.class,"classId");
trans.commit();
session.close;
return sc.getAnotherClassSet();
}
Javaコンソールで実行すると、このコードはうまく見えます。
1 つの Web アプリ (JSF) を使用している場合、このエラーが発生しました
遅延初期化に失敗しました - セッションがないか、セッションが閉じられました
1 対多の関係があります (1 つの SomeClass には複数の AnotherClass があります)
sc.getAnotherClassSet()
null ポインターとして返されることを示す例外メッセージ。データベースにそのデータがあると確信しています。
System.out.println(sc.getAnotherClassSet())
berforeを追加するとreturn sc.getAnotherClassSet()
、コードが正常に動作することがわかりました。
何が起こったのですか?ありがとう。