java - 如何在 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>
我希望看到一个验证错误,因为group
is0
但我没有看到任何问题,并且在数据库中新添加的行的值为0
. 我还需要做什么才能启用验证?
解决方案
将其添加到 pom 中就可以了
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
推荐阅读
- docker - Docker 组合卷
- swift - Swift 中的鼠标点击仅适用于 Control 键
- javascript - 当我将某些内容分配给变量时,为什么 undefined 会打印到控制台?
- javascript - 如何根据我的主题 Dark/Light 更改 chatsJs 的刻度颜色和网格线颜色?
- mongodb - 如何在mongo查询中获取子数组的长度
- cassandra - 在正在运行的节点中将 cassandra 快照文件复制到 sstable 文件上是否安全?
- python - 添加 2 个字母变量来创建一个单词并且不能在所述单词上使用 .strip
- reactjs - 无法使用 puppeteer 运行测试
- libgdx - 在运行时更改在构造函数中添加到阶段的表的背景
- java - java.lang.IllegalStateException 如果任何 JUnit 断言失败