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

use*_*162 6 hibernate hibernate-validator

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

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

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

我是Hibernate Validator的新手,googled和搜索stackoverflow但找不到类似于我的问题.

Duo*_*yen 0

默认情况下,Hibernate 会在真正执行后续操作之前验证传递给 save()、persist() 或 update() 的实体。

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

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