当服务方法为@Transactional时,JPA 2.2 @Version不会增加

问题描述

我有一个实体

@Version
    private Long version;

我有一种更新实体的服务方法。服务方法调用存储库保存方法。我注意到在服务方法上没有@Transactional且实体已被修改时,从服务方法返回的实体具有按预期方式增加的version字段。但是,将@Transactional添加到服务方法后,该字段将不再递增。如果我改用saveAndFlush,则版本会增加。我猜@Transactional仅在退出方法后才刷新。

更新:保存后我正在方法内部转换实体。如果我将转换移到方法之外,则由于事务已提交,因此可以按预期工作。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)