【发布时间】:2020-03-22 08:37:46
【问题描述】:
我在字段级别使用了@Check注解,但是hibernate不会在数据库上创建检查约束。我研究了这是一个bug,@Check注解只能在类级别使用一次。好的,但是如何在类级别添加多个约束?我不想将所有条件都添加到同一个约束中。
@Entity
public class TemplateTest{
@Id
private String id;
@Column(length = 20, nullable = false)
private String name;
@Column(precision = 5, scale = 2, nullable = false)
@Check(constraints = "AMOUNT > 0")
private BigDecimal amount;
@Column(nullable = false)
@Check(constraints = "DISPLAY_ORDER > 0")
private int displayOrder;
}
对
@Entity
@Check(constraints = "DISPLAY_ORDER > 0 and AMOUNT > 0")
public class TemplateTest{
@Id
private String id;
@Column(length = 20, nullable = false)
private String name;
@Column(precision = 5, scale = 2, nullable = false)
private BigDecimal amount;
@Column(nullable = false)
private int displayOrder;
}
【问题讨论】: