【问题标题】:Annotation to check set of possible values for string column - Hibernate JPA用于检查字符串列的可能值集的注释 - Hibernate JPA
【发布时间】:2020-05-14 10:38:21
【问题描述】:

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

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

我只想接受这两组中的一个值。 (“取货”或“送货”)

这些值以外的值会抛出异常。

【问题讨论】:

  • 我猜你应该在这里使用枚举。

标签: hibernate validation jpa constraints hibernate-annotations


【解决方案1】:

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

public enum DeliveryType{
    Pickup,
    Delivery
}

@Enumerated(EnumType.STRING)
private DeliveryType deliveryType;

如果不使用@Enumerated(EnumType.STRING) 注解,Hibernate 默认存储与枚举值对应的序数值。

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

【讨论】:

    猜你喜欢
    • 2010-10-22
    • 2019-03-20
    • 2011-12-07
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 2019-01-21
    相关资源
    最近更新 更多