spring-data-jpa - Spring data mongoDb 不是像 Spring data Jpa 这样的 null 注释

标签 spring-data-jpa spring-data-mongodb

像 spring-data-jpa 一样有 @NotNull 注释,在 spring-data-mongodb 中可以使用什么。?

最佳答案

javax.validation.constraints.NotNull本身可以与 spring-data-mongodb 一起使用。为此,您需要有以下人员。
在 pom.xml 中添加了 JSR-303 依赖项

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.3.4.Final</version>
</dependency>
声明适当的验证器和验证器事件监听器
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.core.mapping.event.ValidatingMongoEventListener;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;

@Configuration
public class Configuration {
    @Bean
    public ValidatingMongoEventListener validatingMongoEventListener() {
        return new ValidatingMongoEventListener(validator());
    }

    @Bean
    public LocalValidatorFactoryBean validator() {
        return new LocalValidatorFactoryBean();
    }
}
在 MongoDB POJO 中添加 @NotNull 注释
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import javax.validation.constraints.NotNull;

@Document(collection = "user_account")
public class User {
    @Id
    private String userId;

    @NotNull(message = "User's first name must not be null")
    private String firstName;

    @NotNull(message = "User's last name must not be null")
    private String lastName;
}
使用此配置和实现,如果您使用空值持久化 User 对象,那么您将看到 javax.validation.ConstraintViolationException 失败。
请记住:如果使用 @SpringBootApplication ,确保 Spring 可以扫描您的配置文件。否则,您可以使用 @ComponentScan("com.mypackage") .

关于spring-data-jpa - Spring data mongoDb 不是像 Spring data Jpa 这样的 null 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42292359/

相关文章:

java - Spring Data MongoDB - 使用自定义 Id 字段时,注释 @CreatedDate 不起作用

java - Spring jpa @OneToMany 一个方向始终为 null

java - Spring 数据 MongoDB : aggregation framework - sort with nested property throws invalid reference

java - 如何在 Spring Data MongoDB 中投影 $strLenCP

java - 在 mongo 文档中创建自动增量字段

java - Spring Data REST 使用 QueryDSL 绑定(bind)进行范围检查

java - 使用 Spring Boot Data JPA 按需创建表

mysql - 无法插入列名称为 from 、 to 的表

mongodb - 如何在 Mongodb 中按月份和年份范围进行过滤

java - 使用 springdoc-openapi 和 spring-boot-starter-data-mongodb 生成 OpenAPI 文档