栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

仅在保存(插入)时进行休眠验证

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

仅在保存(插入)时进行休眠验证

经过两天的研究,我发现了如何进行这项工作。
显然,指定

INSERT
仅在其上进行验证的验证并不是那么困难。唯一需要做的更改是将这些验证设置为一个特定的验证组,并在
INSERT
/
pre-persist
事件期间对该组进行验证。

首先,我创建了一个称为

platform.persistence.InsertOnlyValidations
组的接口,该接口将仅在预持久化期间进行验证。

然后,我将该组添加到了

username
现场验证中:

@Column(name = "username")@Size(min = 4, max = 40, groups = {InsertOnlyValidations.class})@Pattern(regexp = "^.*[a-zA-Z]+.*$", groups = {InsertOnlyValidations.class})private String username;

这指示hibernate状态不要将这些验证用作默认组的一部分。现在,我需要指示hibernate模式仅在插入期间验证这些验证规则。
这样做的方法非常简单,我需要传递property

javax.persistence.validation.group.pre-persist
,同时指示在
pre-persist
事件期间将验证哪些组:

javax.persistence.validation.group.pre-persist=javax.validation.groups.Default,platform.persistence.InsertOnlyValidations

这指示hibernate状态,在

pre-persist
事件期间
javax.validation.groups.Default
,除
InsertOnlyValidations
组中包括的所有验证之外,还将验证所有默认验证()。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/467077.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号