springboot+mybatis与jpa的事务

springboot,mybatis,jpa
我在serviceimpl类上添加@Transactional(readOnly = true)只读 在增删改方法上添加@Transactional(rollbackFor = Exception.class)回滚 再用mybatis的xml方式去做update操作的时候 会报错告诉我只读 但是数据已经修改
在使用jpa来实现update操作的时候则不进行报错 同样的事务注解 这是为什么
同样的代码 调用mybatis方法update的时候有 但是jpa就不会事务声明给 spring容器的时候 方法上的就会失效吗 可是为什么jpa可以mybatis不可以呢