feijiing 2017-06-06 08:38 采纳率: 0%
浏览 6071

spring mvc 同时集成 mybatis 和 jpa ,事务是否一致

由于种种原因,项目中需要同时继承mybatis,和 jpa,有个疑问是 使用mybatis 的service 调用
jpa 实现的 service ,事务是否会生效,即 两个service 是否用的同一个事物,事务管理使用spring 的声明式事务,
使用 @Transactional 注解。

  • 写回答

1条回答 默认 最新

  • 一只猪啊啊 2018-11-19 08:41
    关注

    可以,jpa和mybatis分别有自己的事务实现,但是再spring环境下jpa的事务会覆盖mybatis的事务
    ,单数据源情况下,完全可以兼容两者的事务,但是如果你的项目是多数据源,并且扫包不规范的情况下,事务很有可能就失效了,比如同一个mapper被多个数据源扫描到了,这是你的事务管理器上只能标一个名字,虽然你是同一个操作,但是不在被单数据源的事务管理器处理,会导致mybatis事务不生效的问题。所以我不建议采用一个方法中既写mybatis又写jpa 除非你能保证你的项目只是单数据源的。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog