Eu tive o mesmo problema, mas apenas habilitar a validação não funcionou para mim, isso funcionou com o JPA e o MongoDb para salvar alguém gastando muito com isso. Isso não apenas faz a validação funcionar, mas recebo um bom erro 400 em vez do padrão 500.
Tive que adicionar isso às minhas dependências build.gradle
compile('org.hibernate:hibernate-validator:4.2.0.Final')
e esta classe de configuração
@Configuration
public class CustomRepositoryRestConfigurerAdapter extends RepositoryRestConfigurerAdapter {
@Bean
public Validator validator() {
return new LocalValidatorFactoryBean();
}
@Override
public void configureValidatingRepositoryEventListener(ValidatingRepositoryEventListener validatingListener) {
validatingListener.addValidator("afterCreate", validator());
validatingListener.addValidator("beforeCreate", validator());
validatingListener.addValidator("afterSave", validator());
validatingListener.addValidator("beforeSave", validator());
}
}