Java Hibernate验证--与其他对象进行比较

Java Hibernate验证--与其他对象进行比较,java,hibernate,validation,Java,Hibernate,Validation,请原谅我在这里缺乏理解,因为我已经整整冬眠三天了 我试图在一个实体上添加验证,这将需要将它们与另一个实体进行比较 例如,以人实体为例。一个人可以有许多身体部位s,但最多有两个arm类型的身体部位s(变异除外)。为了验证这一点,在插入新的车身部件时,我需要将其与给定人员的其他车身部件进行比较,并验证该类型的最大值是否已经存在 我一直在看Hibernate提供的约束/验证内容,但似乎没有一个涵盖这类场景。通常是这样做的吗?是否有更好/不同的解决方案?这真的是非标准需求吗?您可以尝试一个数组,将第一个

请原谅我在这里缺乏理解,因为我已经整整冬眠三天了

我试图在一个实体上添加验证,这将需要将它们与另一个实体进行比较

例如,以
实体为例。一个
可以有许多
身体部位
s,但最多有两个
arm类型的身体部位
s(变异除外)。为了验证这一点,在插入新的
车身部件
时,我需要将其与给定
人员的其他
车身部件
进行比较,并验证该类型的最大值是否已经存在


我一直在看Hibernate提供的约束/验证内容,但似乎没有一个涵盖这类场景。通常是这样做的吗?是否有更好/不同的解决方案?这真的是非标准需求吗?

您可以尝试一个数组,将第一个条目作为“arm”(虽然它将是数组[0]),并使用循环检查它,确保它不超过值2,对于legs tail(1)也是如此Hibernate验证和JSR 303通常不包括此类场景。引入它们是为了方便快捷地验证@NotNull、@Min等约束。 您必须编写一些自定义验证器类


就我个人而言,我不太使用JSR303,因为迟早你会遇到这样的需求,最终验证代码分散在许多地方。我更喜欢将我的验证放在一个包中,并与域模型完全解耦。

我不确定你是否理解这个问题(或者我不理解你)。我正在尝试验证/拦截实体保存操作,而不仅仅是验证作为某个变量存在的POJO。这与我得出的理解和结论基本相同。我也非常欣赏将验证分离的想法。