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

用于检查字符串列的可能值集的注释-Hibernate JPA,hibernate,validation,jpa,constraints,hibernate-annotations,Hibernate,Validation,Jpa,Constraints,Hibernate Annotations,如何在hibernate中只检查字符串列的一组可能值 @Column(name="delivery_type") private String deliveryType; 我只想从这两个集合中只接受1个值(“提货”或“交货”) 除这些值外,其他值将引发异常。正如@SternK所建议的,其中一种方法是通过创建如下所示的枚举(DeliveryType)来使用枚举,并将其用作实体类中的属性: public enum DeliveryType{ Pickup, Delivery }

如何在hibernate中只检查字符串列的一组可能值

@Column(name="delivery_type")
private String deliveryType;
我只想从这两个集合中只接受1个值(“提货”或“交货”)


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

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

public enum DeliveryType{
    Pickup,
    Delivery
}

@Enumerated(EnumType.STRING)
private DeliveryType deliveryType;
如果不使用@Enumerated(EnumType.STRING)注释,则默认情况下Hibernate存储与枚举值对应的序号值


另一种方法是为所需的值创建自定义注释,我认为在本例中这是一种过度工作。但是,如果您想创建自定义注释,请从hibernate检查此文档:

我想您应该在这里使用枚举。