我正在使用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
)
答案 0 :(得分:0)
如果您需要支持实体的db约束,可以使用 @Check("name_db_constraint")
@Column(name = "answer_time")
@ColumnDefault(value = "-1")
var answerTime: Int = -1
注释。
{{1}}
如果您需要从服务器端使用相同的约束,请使用验证框架,您可以使用扩展名
创建约束