Hibernate 方法验证休眠

Hibernate 方法验证休眠,hibernate,spring-boot,kotlin,Hibernate,Spring Boot,Kotlin,我正在使用SpringBoot+Hibernate+Kotlin 我想做的是: 我有一个带有questionTime和answerTime的Question对象(参见下面的代码)。我想限制回答时间总是大于或等于提问时间。我希望在数据库级别对其进行约束。我该怎么做?我唯一想要的是独立于数据库 @Entity @Table(name = "question") class Question( @Id @GeneratedValue(strategy = GenerationType.

我正在使用SpringBoot+Hibernate+Kotlin

我想做的是:

我有一个带有questionTime和answerTime的Question对象(参见下面的代码)。我想限制回答时间总是大于或等于提问时间。我希望在数据库级别对其进行约束。我该怎么做?我唯一想要的是独立于数据库

@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


) 

如果您需要支持实体的db约束,可以使用
@Check
注释

    @Check("name_db_constraint")
    @Column(name = "answer_time")
    @ColumnDefault(value = "-1")
    var answerTime: Int = -1

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

Hmm我忘了提到我希望它独立于数据库。我会加上它。否则这将是一个有效的答案。谢谢。hibernate不支持使用ddl-auto-mode创建自定义db约束