在方法上使用Transaction()属性时,缺省隔离级别为ReadCommitted。我想要做的是在Spring.NET配置中将默认隔离级别设置为ReadUncommitted (这样就不会修改当前存在的所有事务属性定义)
我该怎么做呢?Spring.NET 1.2能做到这一点吗?
我试着用tx:advice等来关注the documentation,但是没有效果。
我甚至用Reflector介绍了Spring的代码,但我似乎从中理解到的是,Spring只是从方法的属性声明中读取设置。
可以这样做吗?或者我必须遍历代码并在必要时修改属性?
发布于 2011-10-12 15:35:32
我通常用例如:
[Transaction( IsolationLevel.ReadUncommitted )]关于我的存储库方法。它与<tx:attribute-driven transaction-manager="HibernateTransactionManager"/>结合使用。
<object
name="HibernateTransactionManager"
type="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate32"
dependency-check="none">
<property name="DbProvider" ref="MsSqlDbProvider"/>
<property name="SessionFactory" ref="SessionFactory"/>
</object>发布于 2011-10-13 20:10:22
您应该能够创建自己的事务拦截器来扩展标准事务拦截器。然后使用ObjectNameAutoProxyCreator而不是您引用的TransactionProxyFactoryObject来连接它。
https://stackoverflow.com/questions/7728989
复制相似问题