用于检查字符串列的可能值集的注释 - 休眠 JPA



如何在休眠中仅检查字符串列的可能值集。

@Column(name="delivery_type")
private String deliveryType;

我只想接受这两组中的一个值。("取件"或"送货">(。

除这些值外,将引发异常。

正如@SternK所建议的,其中一种方法是通过创建一个 Enum (DeliveryType( 来使用 Enum,如下所示,并将其用作实体类中的属性:

public enum DeliveryType{
Pickup,
Delivery
}
@Enumerated(EnumType.STRING)
private DeliveryType deliveryType;

默认情况下,休眠存储与枚举值对应的序号值,如果您不使用 @Enumerated(EnumType.STRING( 注释。

另一种方法是为您想要的值创建自定义注释,我认为在这种情况下这是一种过度工作。但是,如果您想创建自定义注释,请从休眠中查看此文档: https://docs.jboss.org/hibernate/validator/5.1/reference/en-US/html/validator-customconstraints.html#validator-customconstraints-constraintannotation

最新更新