Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 验证类层次结构重写_Java_Hibernate_Validation_Hibernate Validator - Fatal编程技术网

Java 验证类层次结构重写

Java 验证类层次结构重写,java,hibernate,validation,hibernate-validator,Java,Hibernate,Validation,Hibernate Validator,是否可以覆盖hibernate/javax验证的类层次结构? 或者如何通过扩展类来覆盖参数验证 使用@Valid注释并在我的类中设置javax验证注释。我希望有一个扩展类,其中验证被删除。 我发现hibernate验证在整个类层次结构中循环,甚至在超类中检查验证。 我使用SpringMVC设置的基于Json的RESTAPI 例如: public class Parent { protected Integer numChildren; @NotNull(message = "N

是否可以覆盖hibernate/javax验证的类层次结构? 或者如何通过扩展类来覆盖参数验证

使用
@Valid
注释并在我的类中设置javax验证注释。我希望有一个扩展类,其中验证被删除。 我发现hibernate验证在整个类层次结构中循环,甚至在超类中检查验证。 我使用SpringMVC设置的基于Json的RESTAPI

例如:

public class Parent {
    protected Integer numChildren;

    @NotNull(message = "NumChildren has to be set.") 
    @Size(min 1, max 10, message = "A partent has to have at least one kid.")
    public Integer getNumChildren() {
        return numChildren;
    }

    public void setNumChildren(Integer numChilds) {
        this.numChildren = numChilds;
    }
}

public class Child extends Parent {

    // A child doesnt have to have kids, but can, so I want to override this parameter
    // and remove the validation requirement, and make it just optional.
    @Override
    public Integer getNumChildren() {
        return super.numChildren;
    }
}
致以最良好的祝愿,
Markus

Bean验证不允许禁用/更改超类中的约束。约束总是组合在一起的。我想办法是通过小组,如家长检查小组和儿童检查小组。将特定于子对象的父对象的约束指定给相应的组。然后,您可以重新定义父对象为ParentChecks的默认组,以及子对象为ChildChecks的默认组child。这应该行得通