请原谅我在这里缺乏理解,因为我大约三天都进入了Hibernate。
我试图在实体上添加验证,要求将它们与另一个实体进行比较。
例如,选择一个Person
实体。 Person
可以有多个BodyPart
个,但最多只有BodyPart
个类型" arm" (除了突变)。要验证这一点,在插入新的BodyPart
时,我需要将其与给定BodyPart
的其他Person
进行比较,并验证该类型的最大值是否已经过去
我一直在关注Hibernate提供的Constraint / Validation内容,但似乎没有一个覆盖这种情况。这是通常的做法吗?它有更好/不同的解决方案吗?这真的是非标准需求吗?
答案 0 :(得分:2)
Hibernate验证和JSR 303一般不包括此类场景。引入它们是为了提供对@NotNull,@ Min等约束的简单快速验证。 你必须编写一些自定义验证器类。
就我个人而言,我并没有多少使用JSR 303,因为迟早会遇到这样的要求,最终会在许多地方分散验证代码。我更喜欢在一个软件包中进行验证,并完全与域模型分离。
答案 1 :(得分:0)
你可以尝试一个数组,让第一个条目为“arm”(它将是Array [0]并用循环检查它,它不超过值2,对于leg tail(1)也是如此以及你想要的任何其他东西。