我有一个实体:
@Entity
public class VersionedDo {
@Version
@Column(name = "version")
private int version;
...
}
我希望在某些情况下更新此实体而不增加版本。没有直接的SQL更新,有没有办法做到这一点?
答案 0 :(得分:0)
来自Hibernate documentation:
禁止您的应用程序更改Hibernate设置的版本号。
要人为增加版本号,请参阅Hibernate Entity Manager参考文档中的属性文档
LockModeType.OPTIMISTIC_FORCE_INCREMENT
或LockModeType.PESSIMISTIC_FORCE_INCREMENTcheck
。
因此,使用Hibernate,我猜你不能强制版本字段在更新时保持其原始值。你只能做相反的事情。
您必须使用经典的SQL查询,不要忘记"刷新"如果需要,你的Hibernate对象。