使用Hibernate添加功能级约束

时间:2011-10-24 09:08:02

标签: hibernate validation constraints

我想定义一个包含某些内容列表的实体(例如embeddable),并且每个embeddable都有一个活动的属性。同时,列表中只允许一个元素处于活动状态。

如何在Hibernate中实现它?

2 个答案:

答案 0 :(得分:2)

如果它们正常运行,我只会在功能服务中实现检查,该功能服务会创建和修改这些可嵌入项,并在未验证约束时抛出异常。它不应该在持久性级别上完成。

答案 1 :(得分:2)

正如JB Nizet在他之前的suggestion中已经指出的那样,您可能最好在服务层中实施此限制。

但是,您可能对JSR 303: Bean Validation感兴趣。 Hibernate Validator 4实现它,使用它可以通过注释定义自定义约束,注释将由Hibernate Validator执行以验证您的bean。请注意,使用其他可能更合适的框架(例如Spring Validator

)可以获得相同的结果

看一下这个问题的例子:Cross field validation with Hibernate Validator (JSR 303)。您还可以找到这些链接: