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 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图