Spring 数据 JDBC 中的乐观锁定
Optimistic Locking in Spring Data JDBC
我注意到 Spring 数据 JDBC 似乎没有实现乐观锁定(类似于 JPA 的 @Version 注释)。
我正在考虑创建一个考虑版本字段的 @Modifying
查询和 returns boolean
以手动检查更新是否成功。但恐怕这种方法仅限于 简单 实体,而不是暗示多个表的聚合。
为聚合实现乐观锁定的最佳方法是什么?
这取决于你的情况。如果您只有 7 个聚合,其中 5 个是单个实体聚合,请为单个聚合寻求 @Modifying
解决方案,并为其他 2 个编写自定义方法。
如果您有更多的聚合,其中包含不止一个 class,请考虑正确实施它并提交 PR。问题已经存在:https://jira.spring.io/projects/DATAJDBC/issues/DATAJDBC-219
主要代码更改将在 SqlGenerator 中,如果它们具有版本属性,则需要为聚合根添加一个 where 子句。
如果您有兴趣做 PR 并需要更多帮助,请在问题上发表评论。
我注意到 Spring 数据 JDBC 似乎没有实现乐观锁定(类似于 JPA 的 @Version 注释)。
我正在考虑创建一个考虑版本字段的 @Modifying
查询和 returns boolean
以手动检查更新是否成功。但恐怕这种方法仅限于 简单 实体,而不是暗示多个表的聚合。
为聚合实现乐观锁定的最佳方法是什么?
这取决于你的情况。如果您只有 7 个聚合,其中 5 个是单个实体聚合,请为单个聚合寻求 @Modifying
解决方案,并为其他 2 个编写自定义方法。
如果您有更多的聚合,其中包含不止一个 class,请考虑正确实施它并提交 PR。问题已经存在:https://jira.spring.io/projects/DATAJDBC/issues/DATAJDBC-219
主要代码更改将在 SqlGenerator 中,如果它们具有版本属性,则需要为聚合根添加一个 where 子句。
如果您有兴趣做 PR 并需要更多帮助,请在问题上发表评论。