方法验证Hibernate
我正在使用Spring Boot + Hibernate + Kotlin。
我想要做的是以下几点:
我有一个问题对象的questionTime和answerTime(见下面的代码)。 我想约束的answerTime总是长于或等于questionTime。 我想要在数据库级别进行限制。 我该怎么做? 我唯一想要的是独立于数据库。
@Entity @Table(name = "question") class Question( @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(updatable = false, nullable = false) var id: Long, @Column(name = "question_time") @ColumnDefault(value = "-1") var questionTime: Int = -1, @Column(name = "answer_time") @ColumnDefault(value = "-1") var answerTime: Int = -1 )
如果您需要支持实体的数据库约束,您可以使用@Check
注释。
@Check("name_db_constraint") @Column(name = "answer_time") @ColumnDefault(value = "-1") var answerTime: Int = -1
如果您需要从服务器端使用验证框架有相同的约束,您可以创建具有扩展的约束