gpt4 book ai didi

java - JPA 属性覆盖

转载 作者:行者123 更新时间:2023-12-01 12:31:08 24 4
gpt4 key购买 nike

我们可以重写属性来停止子类中的版本控制,因为它在 super 中使用,我正在使用 Eclipse 链接。

Class A {
@Version
int a;
}

Class B extends A
{
//a is used as a normal integer not a version.
}

如果不可能,我们可以将版本字段a覆盖为B中的 transient 字段,并将其从B表中删除。

最佳答案

版本似乎被认为是实体的基础,就像 ID 一样,因此没有办法被子类覆盖。您可以做的是通过使用 @OptimisticLocking 注释将其标记为在 'a' 属性上使用字段锁定并指定 selectedColumns: http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/a_optimisticlocking.htm这将允许您控制所使用的值。在 A 中,您可以定义一个递增该值的预更新方法,而在 B 中,您可以覆盖递增该值的逻辑。当另一个事务更改值“a”值时,这仍然允许发生乐观锁异常,但这使其成为应用程序控制的步骤。

关于java - JPA 属性覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25909427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com