注解以检查字符串列的可能值集-Hibernet JPA

问题描述 投票:0回答:1

如何仅在休眠状态下检查String列的可能值集。

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

我只想从这两个两组中仅接受一个值。 (“提货”或“交付”)

这些值以外的值将引发异常。

hibernate validation jpa constraints hibernate-annotations
1个回答
0
投票

如@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

© www.soinside.com 2019 - 2024. All rights reserved.