我定义了以下类,
@Entity
@Idclass(Key.class)
public void ClassA {
...
@Id
@Version
private long version;
...
}
public class Key {
...
private long version;
...
}
编译时我得到以下错误,
“无法在嵌入式类上定义@Version”
因此,如上所述定义的复合键的属性也可能具有@Version。我确实尝试将@version添加到Id类本身的属性中,但它仍然无效。
事先提前答案 0 :(得分:1)
没有意义。 @Version
的要点是定义JPA引擎在每次修改实体时将递增的字段。 @Id
的要点是定义主键,主键应该是唯一且不可变的,并用于标识实体的整个生命周期。因此@Version
字段不应该是ID的一部分。