我希望在使用Hibernate Validator将数据插入数据库之前验证EclipseLink实体中的数据。
如果验证失败,那么我想在这些实体上设置默认值。然后,我想将数据插入数据库,并将这些实体标记为验证失败,并附带相关的错误消息。
这是使用验证器的isValid()方法执行此操作的最佳方法吗?
我是Hibernate Validator的新用户,谷歌搜索和搜索stackoverflow但无法找到类似于我的问题。
答案 0 :(得分:0)
默认情况下,Hibernate验证传递给save(),persist()或update()的实体...之后才真正完成这些操作。
在您的情况下,您可以使用验证程序自行验证您的对象。然后取决于ConstraintViolation列表,您可以识别无效属性以填充默认值。
可以找到使用Hibernate验证器API的示例here。 ValidatorFactory是你的朋友。