springboot jpa 乐观锁
**************************
相关注解
@Version
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Version {
}
************************
示例:
表user:id,name,age,version,version默认值设为0
******************
pojo 层
User
@Entity
public class User {
private Integer id;
private String name;
private Integer age;
private Integer version;
@Id
@Column(name = "id", nullable = false)
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Basic
@Column(name = "name", nullable = false, length = 12)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Basic
@Column(name = "age", nullable = false)
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Basic
@Column(name = "version", nullable = false)
@Version
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
。。。。
}
说明:在getVersion()方法上加注解@Version,之后每更新一次,version字段值均会自动加1