执行休眠查询时有条件地禁用休眠验证

问题描述 投票:0回答:1

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

java hibernate validation hibernate-validator
1个回答
0
投票

如果您的架构不是由 Hibernate 生成的,或者 Hibernate 并不像最终那样智能,那么有一种方法可以通过本机查询绕过

@NotNull
检查。您可以尝试在本地插入/更新数据库行,而不触发应用程序层验证,但 Hibernate 非常友善,还为用
NOT NULL
注释的字段生成
@NotNull
数据库约束,这最终是一件很棒的事情。

您应该想知道为什么需要执行不符合已实现的验证限制的查询,当然添加该约束的开发人员充分考虑了其后果。一般来说,目标应该是防止在数据库中插入(可避免的)空值。

© www.soinside.com 2019 - 2024. All rights reserved.