Hibernate 方法验证休眠
我正在使用SpringBoot+Hibernate+Kotlin 我想做的是: 我有一个带有questionTime和answerTime的Question对象(参见下面的代码)。我想限制回答时间总是大于或等于提问时间。我希望在数据库级别对其进行约束。我该怎么做?我唯一想要的是独立于数据库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.
@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约束