如何知道持久性实体是否已更新?春季交易管理

时间:2016-08-20 08:36:50

标签: spring hibernate jpa spring-transactions optimistic-locking

我正在尝试使用JPA实现乐观锁定。我读到添加一个额外的字段,带有@Version注释的版本可用于应用隐式乐观锁定。实施后,我将能够防止多个用户尝试更新同一实体时丢失更新。如果进行任何更新,如果版本字段与实体的版本字段不匹配,则表示实体同时由其他用户更新,然后没有更新行,从而防止丢失更新。

我正在使用Spring Transaction管理支持更新实体,我只需要更新Entity字段,Spring事务管理器会更新数据库更新,这意味着我不需要显式调用更新查询。

我的问题是,如何才能知道特定用户的更新是否成功?

1 个答案:

答案 0 :(得分:0)

如果操作不成功,将抛出

OptimisticLockException - 如果其他事务之前已修改过实体。相关主题的更多细节: