问题

我有一个Java对象User,具有以下字段:

 public class User {
      private String firstName;
      private String desc;
      private String lastName;
      private String profile;
      ... }
 

在一些String字段上,我需要使用我自己的验证约束进行验证,如果验证约束失败,我想将相应字段的值更改为某些默认值.

我正在通过hibernate将此对象保存在我的数据库中.

为了验证,我已经编写了自己的约束验证器(如本例中显示的那个) https://docs.jboss.org/hibernate/validator/5.0/reference/en-US/html/validator-customconstraints.html#validator-customconstraints-validator )

我能够使用自定义验证器验证这些字段,但我不知道如何将相应字段的值更改为默认值,以防此验证失败.

  最佳答案

 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));
 

  相同标签的其他问题

java