相关疑难解决方法(0)

JPA - 找不到类型为enum的验证器

我有一个实体类,其中一个属性使用枚举类型,当我尝试持久化实体时,我得到以下异常:

javax.validation.UnexpectedTypeException: No validator could be found for type: model.schema.BaseYesNo
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?我的想法是,因为它是一个枚举,它应该已经由编译器验证,所以不需要某种验证器.(以下代码)

实体属性:

@Enumerated( EnumType.STRING )
@Column( name = "seeded_flag" )
private BaseYesNo seededFlag;

public BaseYesNo getSeededFlag() {
    return this.seededFlag;
}

public void setSeededFlag( BaseYesNo seededFlag ) {
    this.seededFlag = seededFlag;
}
Run Code Online (Sandbox Code Playgroud)

和枚举类型的定义:

public enum BaseYesNo {
    YES( "Y" ),
    NO( "N" );

    private String yesNoVal;

    private static Map< String, BaseYesNo > stringToEnum = new HashMap< String, BaseYesNo >();

    static {
            for ( BaseYesNo byn : BaseYesNo.values() ) {
            BaseYesNo.stringToEnum.put( byn.toString(), …
Run Code Online (Sandbox Code Playgroud)

java jpa bean-validation

22
推荐指数
1
解决办法
2万
查看次数

标签 统计

bean-validation ×1

java ×1

jpa ×1