相关疑难解决方法(0)

如何在Spring Boot项目中禁用Hibernate验证

我有一个spring boot项目,它有一个CrudRepository,一个Entity和一个Controller.我基本上试图根据传递给Controller的数据来持久化实体.

要做到这一点,我正在使用spring-boot-starter-jpa.我的实体使用JSR-303注释进行注释,将数据传递给CrudRepository以进行持久化之前,在控制器中对其进行检查.

控制器方法:

@RequestMapping(value = "users", method = { RequestMethod.POST })
public SuccessfulResponse<User> addUser(@Valid @RequestBody User user, BindingResult validation) {
    if (validation.hasErrors()) {
        throw new ValidationException(validation);
    }
    User saved = this.users.save(user);
    return new SuccessfulResponse<User>(saved);
}
Run Code Online (Sandbox Code Playgroud)

实体:

@Entity /* JPA */
public class User {

   @Id /* JPA */
   @Column(name="email_address", nullable=false, length=255) /* JPA */
   @UserUnique
   private String emailAddress;

}
Run Code Online (Sandbox Code Playgroud)

我的问题的原因是UserUnique注释.它的验证器如下所示:

public class UserUniqueValidator implements ConstraintValidator<UserUnique, String> {

   private UserRepository users;

   @Autowired …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa bean-validation spring-boot

29
推荐指数
1
解决办法
3万
查看次数

标签 统计

bean-validation ×1

hibernate ×1

java ×1

jpa ×1

spring-boot ×1