【问题标题】:Spring Isolation Support? MSQL Snapshot Isolation弹簧隔离支持? MSQL 快照隔离
【发布时间】:2012-01-24 08:32:12
【问题描述】:

我们正在使用 SQL Server,快照隔离可能是提高性能和解决一些死锁问题的好方法。

假设我们确实需要更改为快照隔离,我似乎找不到在 Springs @Transactional 上启用快照隔离的简单方法。

我在 Hibernate 中找到了以下 hibernate 配置选项,但是我们使用 spring-jdbc 并且没有 hibernate impl。这似乎表明可以以某种方式手动提供隔离值。

<property name=”hibernate.connection.isolation”>4096</property>

有人知道让 Spring 对事务使用 SQL Server 快照隔离的方法吗?

【问题讨论】:

    标签: java sql-server spring jdbc transactions


    【解决方案1】:

    4096是SNAPSHOT隔离的代码,参考帖子here,你必须在连接对象上设置隔离级别,我认为你不能用@Transactional来实现,你可以使用spring提供的其他事务解决方案,主要是'交易模板'。

    【讨论】:

    • 嗨,gbagga,有用的提示。我将进一步研究 TransactionTemplate 并报告。
    • 感谢 gbagga,具有正确代码的 TransactionTemplate.setIsolationLevel 正是我们正在寻找的。对于任何以类似意图阅读此问题的人,我尚未配置数据库并对此进行测试;但是,假设您正确配置了快照隔离(在数据库和事务上),我认为它没有理由不工作。
    猜你喜欢
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2017-04-14
    • 2010-11-10
    • 2014-02-20
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多