方法验证Hibernate

时间:2017-07-08 18:19:13

标签: hibernate spring-boot kotlin

我正在使用Spring Boot + Hibernate + Kotlin。

我要做的是以下内容:

我有一个带有questionTime和answerTime的Question对象(参见下面的代码)。我想约束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


) 

1 个答案:

答案 0 :(得分:0)

如果您需要支持实体的db约束,可以使用 @Check("name_db_constraint") @Column(name = "answer_time") @ColumnDefault(value = "-1") var answerTime: Int = -1 注释。

{{1}}

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

创建约束