Dav*_*tor 8 spring hibernate transactions
我正在调试我们的webapp.它被配置为在启动时创建DataSourceTransactionManager bean以及HibernateTransactionManager bean.这不是故意的,而是由第三方依赖引起的.效果似乎是良性的.我通过调试看到的是,当我们通过基于Hibernate的DAO持久化对象时 - 调用DataSourceTransactionManager而不是HibernateTransactionManager(bean都被称为'transactionManager').Spring Javadoc意味着(我认为,现在重新阅读)这对本地资源来说是好的 - 这就是我们的情况.即它不是基于分布式JTA的环境.
我的问题是 - 不使用HibernateTransactionManager进行基于ORM的持久性会有什么负面影响.我可以更改配置,以便通过我们DAO上@Transactional注释的限定符来使用HibernateTransactionManager.
在简单的单元测试,集成测试设置方面工作正常,但是当我们拥有数千个用户和高水平的并发时,我更关心扩展到完整的生产量.
TIA,希望这不是太晦涩难懂.
Spring 3.0.x BTW.
这是在Spring 3.1文档中.
第11.9节"常见问题的解决方案".
根据您选择的事务技术和要求,使用正确的PlatformTransactionManager实现.
这会让我觉得错误并会引发问题.如果没有hibernate txn管理器,对HibernateOperations的所有调用都将在事务外部和单独的会话中进行,可能使用自动提交.因此,当发生错误时,似乎一切都很好,您可能会发现您希望回滚的更改不会.
请尝试以下方法进行检查
检查数据库中是否出现"某事".
另一项检查是
您可能会发现最后一次调用导致异常,因为会话未从加载中保持打开状态,因为封闭的txn不是由hibernate txn管理器管理的.
| 归档时间: |
|
| 查看次数: |
2159 次 |
| 最近记录: |