Hibernate的@Version可以考虑相关实体的变化吗?

2024-02-24

我有 2 个实体:Parent and Child处于一对多关系中。这Parent是版本化的,即有一个 @Version 字段。我的目标是同步更改Parent and Child上的实体Parent的版本。

例如。一个线程更新Parent另一个更新了其中一个Childs,这应该会导致 OptimisticLockException。

是否可以?

我尝试添加 @PreUpdate 到Child这会增加它的版本Parent,但这并没有帮助,因为 Hibernate 似乎仅在检查版本后才执行侦听器,因此事务无论如何都会成功提交。

如果可以的话,如何实施?


你有没有尝试过让孩子成为成分而不是entity?

默认的 Hibernate 操作可能更符合您的要求。这个想法是,父级是一个真实的实体,而子级被认为是一个更大整体的元素。

在 Hibernate 中,这应该被视为默认的父子关系。 实体之间的父子关系虽然可能,但不太自然。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate的@Version可以考虑相关实体的变化吗? 的相关文章

随机推荐