私は休止状態と春を使用していますが、次のコードを実行するとこの例外が発生します:
Session oSession = getSession();
try
{
oSession.setFlushMode(FlushMode.COMMIT);
getHibernateTemplate().delete(oProject);
oSession.flush();
bResult = true;
}
catch (Exception e)
{
bResult = false;
logger.error(e);
}
休止状態に関するいくつかのセッション管理を読みましたが、このコードのセッション処理が不十分であるという予感があります。2 つのオープン セッションがある理由は何ですか? Hibernate API は、getSession()
関数が新しいセッション オブジェクトまたは既存のいずれかを返すと述べています。この場合、既存のセッション オブジェクトはどこで取得されるのでしょうか。また、新しいセッション オブジェクトを作成する場合でも、関連するコレクションを処理しても問題ありませんか?
どんな助けでも大歓迎です。前もって感謝します!より多くのパワースタックオーバーフロー。