2017-02-17 60 views

回答

5

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

添加注释@NotNull在MongoDB的POJO

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

利用这种配置和实现,如果你坚持用户对象空值,然后你会看到衰竭javax.validation.ConstraintViolationException

+0

谢谢。有效。 –