Spring 如何为现有数据设置版本列的默认值?

Spring 如何为现有数据设置版本列的默认值?,spring,hibernate,jpa,optimistic-locking,Spring,Hibernate,Jpa,Optimistic Locking,我正在尝试使用乐观锁定。 我正在将“版本”列添加到我的表中如何为现有数据的“版本”列设置默认值,或者这在实体上就足够了 @Version @Column(name = "VERSION") private Long version = 0L; 在数据库中执行此操作的最简单方法 当然,您仍然需要添加版本列:类似于: alter table MyEntity add column version INT(11); //no not null constraint here! 然后将第一个值添加

我正在尝试使用乐观锁定。 我正在将“版本”列添加到我的表中如何为现有数据的“版本”列设置默认值,或者这在实体上就足够了

@Version
@Column(name = "VERSION")
private Long version = 0L;

在数据库中执行此操作的最简单方法

当然,您仍然需要添加版本列:类似于:

 alter table MyEntity add column version INT(11); //no not null constraint here!
然后将第一个值添加到所有实体:

 update MyEntity set 'version' = 1;
现在还可以添加NOTNULL约束


(我希望您在添加版本列时停止应用程序)

这是您的问题:假设数据库中已有一些实体(没有版本列),现在您想添加乐观锁定;问题:如何向已经存在的实体添加版本值?是的,这是对的@Ralph
 alter table MyEntity modify version INT(11) NOT NULL;