weixin_42317582 2009-07-09 01:19
浏览 193
已采纳

关于spring事务管理

先简单看看相关配置:



class="org.springframework.jdbc.datasource.DataSourceTransactionManager">




class="org.springframework.jdbc.core.JdbcTemplate">


……

不是我配的。我想问的是
1,里面有用于hibernate事务的HibernateTransactionManager和用于jdbc事务的DataSourceTransactionManager两个事务管理bean。可以多于一个吗?
2,如果可以。在配置中我没有发现dataSourceTransactionManager被任何地方用到过。他是不是在用到jdbcTemplate时spring会自己寻找dataSourceTransactionManager?
补充,现在是没有dataSourceTransactionManager这个bean时若使用oracle会游标只增不减。
[b]问题补充:[/b]
好像无法把分分给多个人。

  • 写回答

6条回答 默认 最新

  • layer555 2009-07-09 10:56
    关注

    从目前的配置来看dataSourceTransactionManager并没有起到应有的作用,因为tx:annotation-driven的方式只能配置一种类型的事务;如果需要两种以上方式访问数据库的话就要分情况处理了;
    1、如果只有一个数据源采用了hibernate和jdbc两种方式访问,那么在查询的时候不用处理事务,如果是更改的话可以考虑采用hibernate作为主导,然后手动调用SessionFactory的getCurrentSession().connection()获取到当前的connection然后手动维护事务的完整性;
    2、如果是多个数据源,不同的数据源运用了不用访问的技术化,可以采取其它的方式配置,使不用的数据源拥有不同的事务;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?