我们的项目只在遗留数据库上查询数据,当 Spring Framework 自动注入 OSIV 情况时,我们可以默认使用无状态会话吗?
我的意思是基类 NHibernateRepository 的方法 GetCurrentSession 可以检索无状态会话对象。
我将 _sessionFactory.GetCurrentSession() 更改为 _sessionFactory.OpenStatelessSession() 是否有效?
public abstract class NHibernateRepository
{
private ISessionFactory _sessionFactory;
public ISessionFactory SessionFactory
{
protected get { return _sessionFactory; }
set { _sessionFactory = value; }
}
protected ISession CurrentSession
{
get { return _sessionFactory.GetCurrentSession(); }
}
......
但我的 Spring 配置将保留为常规设置:
<!-- Session Factory Configuration -->
<object id="SessionFactory" type="MyProject.Infrastructure.NHibernate.NHibernateLocalSessionFactoryObject, MyProject.Infrastructure">
<property name="DbProvider" ref="MyDbProvider"/>
<property name="MappingAssemblies">
<list>
<value>MyProject.DataAccess.NHibernateMappingLocal</value>
</list>
</property>
我应该为我的案子做些什么?谢谢你的帮助。