2017-02-17 4 views

ответ

5

javax.validation.constraints.NotNull сам может использоваться с пружинными данными-mongodb. Для этого вам нужно иметь следующее.

JSR-303 зависимости встраиваются в pom.xml

<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

Спасибо. Это сработало. –

Смежные вопросы