Я использовал аннотацию @Check на уровне поля, но hibernate не создает проверочных ограничений для базы данных. Я исследовал, что это ошибка, и аннотацию @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;
}