方法验证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 

如果您需要从服务器端使用验证框架有相同的约束,您可以创建具有扩展的约束