【发布时间】:2012-02-22 10:57:30
【问题描述】:
我有如下测试:
public class TestSizeAnnotation
{
public static void main(String[] args)
{
System.out.println(Validation.buildDefaultValidatorFactory().getValidator().validate(new C()));
}
public static class P
{
private List<String> lst = newArrayList("AA");
@Size(max=0, message="P")
public List<String> getLst()
{
return lst;
}
public void setLst(List<String> lst)
{
this.lst = lst;
}
}
public static class C extends P
{
@Override
@Size(max=5, message="C")
public List<String> getLst()
{
return super.getLst();
}
}
}
输出如下:[ConstraintViolationImpl{interpolatedMessage='P', propertyPath=lst, rootBeanClass=class com....validator.TestSizeAnnotation$C, messageTemplate='P'}]
但是,我希望注释可以@Size 被覆盖,并且不会出现警告。
有没有办法做到这一点?
编辑:我发现 bug 似乎与此有关,但我运行 4.2.0 final 并仍然得到上述行为。
【问题讨论】:
标签: java hibernate annotations bean-validation