Hibernate Validator - 在实体验证失败后设置默认值

时间:2012-10-25 05:24:21

标签: hibernate hibernate-validator

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

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

这是使用验证器的isValid()方法执行此操作的最佳方法吗?

我是Hibernate Validator的新用户,谷歌搜索和搜索stackoverflow但无法找到类似于我的问题。

1 个答案:

答案 0 :(得分:0)

默认情况下,Hibernate验证传递给save(),persist()或update()的实体...之后才真正完成这些操作。

在您的情况下,您可以使用验证程序自行验证您的对象。然后取决于ConstraintViolation列表,您可以识别无效属性以填充默认值。

可以找到使用Hibernate验证器API的示例here。 ValidatorFactory是你的朋友。