如何仅在休眠状态下检查String列的可能值集。
@Column(name="delivery_type")
private String deliveryType;
我只想从这两个两组中仅接受一个值。 (“提货”或“交付”)。
这些值以外的值将引发异常。
如@SternK所建议,一种方法是通过创建如下所示的Enum(DeliveryType)来使用Enum并将其用作实体类中的属性:
public enum DeliveryType{
Pickup,
Delivery
}
@Enumerated(EnumType.STRING)
private DeliveryType deliveryType;
默认情况下,Hibernate存储与枚举值相对应的序数值,如果您不使用@Enumerated(EnumType.STRING)批注。
另一种方法是为所需的值创建自定义批注,在这种情况下,我认为这是过度的工作。但是,如果您想创建自定义注释,请从休眠中检查此文档:https://docs.jboss.org/hibernate/validator/5.1/reference/en-US/html/validator-customconstraints.html#validator-customconstraints-constraintannotation