如何保持OpenSessionInView在Spring.NET/NHibernate上默认只使用无状态会话?

时间:2012-10-13 07:41:33

标签: nhibernate spring.net open-session-in-view

我们的项目只通过遗留数据库查询数据,当弹簧框架按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>

我应该为我的案件做些什么吗?谢谢你的帮助。

0 个答案:

没有答案