我们的项目只通过遗留数据库查询数据,当弹簧框架按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>
我应该为我的案件做些什么吗?谢谢你的帮助。