javax.validation获取字段所有者对象

javax.validation获取字段所有者对象,java,validation,bean-validation,Java,Validation,Bean Validation,想象一下目前的情况: class Alpha { Integer x1; @BiggerThan("x1") Integer x2; } 我想为这个@BiggerThan注释编写一个自定义约束验证器。 但是,在ConstraintValidator实现中似乎没有一种方法可以获得Alpha实例。isValid方法的签名为 public boolean isValid(Integer value, ConstraintValidatorContext context) 没

想象一下目前的情况:

class Alpha
{
    Integer x1;
    @BiggerThan("x1")
    Integer x2;
}
我想为这个
@BiggerThan
注释编写一个自定义约束验证器。 但是,在
ConstraintValidator
实现中似乎没有一种方法可以获得
Alpha
实例。isValid方法的签名为

public boolean isValid(Integer value, ConstraintValidatorContext context)
没有“对象所有者”参数。似乎也没有办法让它通过
上下文

是否有可能在javax.validator框架中实现这一点


我使用hibernate验证器作为实现,但我愿意改变这一点。如果需要的话,我会考虑一个被绑定到特定JSR303实现的黑客攻击解决方案。

< P>你可以将它实现为类级别约束:

@BiggerThen(a = "x1", b = "x2")
class Alpha {
    Integer x1;
    Integer x2;
}
例如,作为