Spring Data JDBC中的乐观锁定

时间:2019-02-26 23:12:56

标签: spring-data optimistic-locking spring-data-jdbc

我注意到,Spring Data JDBC似乎没有实现乐观锁(类似于JPA的@Version批注)。

我正在考虑创建一个查询@Modifying的查询,该查询考虑版本字段并返回boolean来手动检查更新是否成功。但是我担心这种方法仅限于简单实体,而不是暗示多个表的聚合。

对集合实施乐观锁定的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

这取决于您的情况。如果您只有7个集合,其中5个是单个实体集合,请为单个集合使用@Modifying解决方案,为其他2个集合编写自定义方法。

如果您有更多的集合,其中包括一个以上的类,请考虑正确实施它并提交PR。问题已经存在:https://jira.spring.io/projects/DATAJDBC/issues/DATAJDBC-219

主要代码更改将在SqlGenerator中进行,如果它们具有版本属性,则需要为聚合根添加一个where子句。

如果您有兴趣进行PR,并且需要更多帮助,请对此问题发表评论。