我有一个Java对象User
,其中包含以下字段:
public class User {
private String firstName;
private String desc;
private String lastName;
private String profile;
... }
在某些String字段上,我需要使用自己的验证约束进行验证,如果该验证约束失败,我想将该对应字段的值更改为某个默认值。
我通过休眠将这个对象保存在数据库中。
为进行验证,我编写了自己的约束验证器(如本示例所示) https://docs.jboss.org/hibernate/validator/5.0/reference/en-US/html/validator-customconstraints.html#validator-customconstraints-validator)
我可以使用自定义验证器来验证这些字段,但是如果验证失败,我不知道如何将相应字段的值更改为默认值。
答案 0 :(得分:1)
public class UserValidator {
public User validate(User user) {
// check user fields, make sure they are valid
// if they are, return the same user
// if not, create another user object, with the required changes, and return that
}
}
session.save(new UserValidator().validate(user));
答案 1 :(得分:0)
您可以更改对象的字段并调用session.update(object)