Java JPA Hibernate,如何在创建时验证和在更新时忽略验证
我拥有以下实体:Java JPA Hibernate,如何在创建时验证和在更新时忽略验证,java,hibernate,spring-boot,jpa,Java,Hibernate,Spring Boot,Jpa,我拥有以下实体: @Entity @Table(name = "bookings") public class Booking { @Null @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Long id; @Null @Column(name = "column1", columnDefinition = "V
@Entity
@Table(name = "bookings")
public class Booking {
@Null
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Null
@Column(name = "column1", columnDefinition = "VARCHAR(25) DEFAULT 'CREATED'")
private String column1;
//the rest of the fields....
}
这是一个简单的spring启动项目,规则是在创建新行时不应该有第1列数据(因此它使用值“CREATED”),但是在行更新上,我想将值更改为“ENDED”
有没有办法让Hibernate在创建新行时只进行验证,而在更新行时忽略验证?看一看
@在执行实体管理器持久化操作之前执行PrePersist
实际执行或级联。此调用与
坚持操作
@在数据库更新操作之前执行预更新
看
@PrePersist
protected void onCreate() {
column1 = "CREATED";
}
@PreUpdate
protected void onUpdate() {
column1 = "ENDED";
}