1

ウィンドウ アプリケーションで Spring .Net と Fluent NHibernate を使用しており、複数のスレッドで作業しています。スレッドごとに 1 つのセッションしか存在できないといういくつかのブログや質問を読み、それを行うために HibernateDaoSupport と CurrentSession を使用しています。

   public class DaoBase<T> : HibernateDaoSupport, IDaoBase<T>
    {
        protected ISession CurrentSession
        {
            get { return SessionFactoryUtils.GetSession(HibernateTemplate.SessionFactory, true); }
        }
}

ただし、私はこの機能をテストしており、各スレッドのセッションが異なるセッションであることを示す必要があります。どうすればいいですか?

Obs: 調査の結果、nhibernate セッションで取得したオブジェクトは別のセッションで変更できないことがわかりました。たとえば、「セッション 1」でオブジェクトを見つけられず、「セッション 2」で同じオブジェクトを更新できません。 . しかし、私のテストでは、最初のスレッドでオブジェクトを取得し、2 番目のスレッドで同じオブジェクトを更新しています。これは機能しています。何が間違っていますか?

4

1 に答える 1