在执行hibernate查询时有条件地禁用hibernate验证

时间:2016-07-19 08:24:31

标签: java hibernate validation hibernate-validator

我有一个模型,它应用了一些NOT NULL休眠验证。我需要执行几个DAO查询(创建/更新),以便仅在执行这些查询时放宽验证。我不想完全关闭验证,因为我的DAO层中有其他需要它们的查询。

1 个答案:

答案 0 :(得分:0)

如果您的架构不是由Hibernate生成的,或者Hibernate没有像最终那样聪明,那么有一种方法可以通过本机查询来绕过@NotNull检查。您可以尝试在不触发应用程序层验证的情况下本地插入/更新数据库行,但Hibernate非常友好地为使用NOT NULL注释的字段生成@NotNull数据库约束,到底是什么的事情。

你应该想知道为什么你需要执行不符合已实现的验证限制的查询,因为添加约束的开发人员肯定会很好地考虑它的后果。通常,目标应该是防止在数据库中插入(可避免的)空值。