各セッションが新しいインターセプター インスタンスを取得するように、シングルトン インターセプターの代わりにプロトタイプ インターセプターを使用したいと考えています。
HibernateTransactionManager Class を調べたところ、「EntityInterceptorObjectName」と「ObjectFactory」が設定する必要があるプロパティだと思います。
EntityInterceptorObjectName は非常に明白ですが、「ObjectFactory の母」である ObjectFactory を参照する方法がわかりません。たとえば、AppContext/HibernateTransactionManager を作成する同じ ObjectFactory です。
構成の関連部分:
<object id="HibernateTransactionManager" type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate20">
<property name="DbProvider" ref="DbProvider"/>
<property name="SessionFactory" ref="SessionFactory"/>
<!-- the name of my non-Singleton EntityInterceptor-->
<property name="EntityInterceptorObjectName" value="MyPrototypeEntityInterceptor" />
<!-- What should I put as ref here? -->
<property name="ObjectFactory" ref="" />
</object>
<object id="MyPrototypeEntityInterceptor" type="Hib.EntityInterceptor, Hib.Interceptors" singleton="false">
</object>