Hibernate验证器 - 在实体未通过验证后设置默认值

6

我希望在使用Hibernate Validator将数据插入数据库之前,先验证EclipseLink实体中的数据。

如果验证失败,我希望在这些实体上设置默认值。然后,我想将数据插入数据库,并标记这些实体为未通过验证,并附上相关的错误信息。

最好的方法是使用验证器的isValid()方法吗?

我对Hibernate验证器还不熟悉,已经在谷歌和Stack Overflow上进行了搜索,但没有找到与我的问题类似的问题。


嗨,安德鲁,你在这方面有什么进展吗?或者从功能角度找到了什么方法来实现它? - Stephane
1个回答

0

Hibernate默认在执行save()、persist()或update()之前验证传递的实体...确保在真正执行操作之前进行验证。

在您的情况下,您可以使用验证器自己验证对象。然后根据ConstraintViolation列表,您可以识别无效的属性并填充默认值。

使用Hibernate验证器API的示例可以在这里找到。ValidatorFactory是您的好朋友。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接