Hibernate对整数的跨域验证?

bq9c1y66  于 2023-06-23  发布在  其他
关注(0)|答案(2)|浏览(133)

我想对下面的类执行跨字段hibernate验证:

public class MyClass {
        private int adults;
        private int children;

        @Range(min = 0, max = 4)
        private int getPersons() {
            return adults + children;
        }
}

结果:“HV000090:无法访问getPersons。”
为什么我不能对一个没有显式类成员变量的方法进行验证?

qlzsbp2j

qlzsbp2j1#

我从来没有使用过Hibernate验证器,但从我所读到的,验证只对公共属性有效(与基于字段的验证相反,在那里访问类型似乎并不重要),即。HV无法访问getPersons(),因为它是私有的。把它改成公共应该解决这个问题。

2w3kk1z5

2w3kk1z52#

@Range(min = 0, max = 4)
    private int getPersons() {
  if(Objects.nonNull(adults)
  && Objects.nonNull(children))){
        return adults+children;
      }
     return Objects.nonNull(adults) ? abults: children;
    }

相关问题