3

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

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

为聚合实现乐观锁定的最佳方法是什么?

4

1 回答 1

0

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

如果您有更多由一个类组成的聚合,请考虑正确实施它并提交 PR。问题已经存在:https ://jira.spring.io/projects/DATAJDBC/issues/DATAJDBC-219

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

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

于 2019-02-27T06:59:42.827 回答