首页 > 解决方案 > 如何在 Spring Boot 控制台应用程序中验证实体?

问题描述

我有一个使用 Spring Data 的 Spring Boot 控制台应用程序。

我有一个简单的 jpa 存储库

public interface MyRepository extends JpaRepository<MyEntity, Integer> {
}

和这样定义的实体

import javax.validation.constraints.Min;
// ....

@Entity
@Table(schema = "mySchema", name = "myTable")
public class MyEntity {
    // ...
    @Column(nullable = false)
    @Min(100)
    private Integer group;
    // ...
}

当我保存这个实体

myRepository.save(myEntity);

起居室:

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.1.8.RELEASE</version>
</parent>

<dependencies>
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-data-jpa</artifactId>
   </dependency>
   <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
      <version>2.0.1.Final</version>
   </dependency>
   <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>6.1.0.Final</version>
   </dependency>
</dependencies>

我希望看到一个验证错误,因为groupis0但我没有看到任何问题,并且在数据库中新添加的行的值为0. 我还需要做什么才能启用验证?

标签: javaspring-bootspring-data-jpaspring-data

解决方案


将其添加到 pom 中就可以了

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

推荐阅读