2

我们的项目只在遗留数据库上查询数据,当 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>

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

4

0 回答 0