J'utilise Spring data mongo comme ORM pour accéder à mon MongoDb. Je dois lire une collection MongoDb contenant des documents dont je ne gère pas le contenu et sa validité. Et je suis confronté à un problème: les documents ne sont pas tous valides et quand j'utilise la méthode 'findAll', j'attrape juste une exception. Au lieu de ce comportement, je voudrais trouver tous les documents valides et rejeter les invalides. Par exemple, j'ai un bean avec un booléen primitif et dans le document, ce champ est défini sur un type de chaîne. Donc, quand j'utilise 'findAll', je reçois une exception pour l'instant, mais j'aimerais avoir la liste de tous les documents valides. Ce que je veux dire, c'est que certains documents de ma collection ne sont pas valides en raison d'un mauvais type - ne peuvent pas être castés dans le type Java bean. J'utilise juste un exemple booléen mais il peut aussi apparaître avec int, long, tous les types Java primitifs. Il y a un moyen de le faire avec Spring data mongo? Impossible d'exécuter CommandLineRunner à org.springframework.boot.SpringApplication.callRunner (SpringApplication.java:779):Spring Data MongoDb - comment utiliser la méthode "findAll" qui retourne uniquement les documents valides
Un grand merci,
Voici le Stace de la pile:
java.lang.IllegalStateException [spring-boot-1.5.3.RELEASE.jar: 1.5.3.RELEASE] à org.springframework.boot.SpringApplication.callRunners (SpringApplication.java:760) [spring-boot-1.5.3.RELEASE.jar: 1.5.3.RELEASE] à org.springframework.boot.SpringApplication.afterRefresh (SpringApplication.java:747) [spring-boot-1.5.3.RE LEASE.jar: 1.5.3.RELEASE] à org.springframework.boot.SpringApplication.run (SpringApplication.java:315) [spring-boot-1.5.3.RELEASE.jar: 1.5.3.RELEASE] à org .springframework.boot.SpringApplication.run (SpringApplication.java:1162) [spring-boot-1.5.3.RELEASE.jar: 1.5.3.RELEASE] à org.springframework.boot.SpringApplication.run (SpringApplication.java: 1151) [spring-boot-1.5.3.RELEASE.jar: 1.5.3.RELEASE] à hello.Application.main (Application.java:38) [classes /: na] Causé par: java.lang.NullPointerException : null at hello.Customer_Accessor_sbf1mo.setProperty (source inconnue) ~ [spring-data-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mapping.model.ConvertingPropertyAccessor.setProperty (ConvertingPropertyAccessor.java : 58) ~ [printemps-données-communes-1.13.3.RELEASE.j ar: na] à org.springframework.data.mongodb.core.convert.MappingMongoConverter $ 1.doWithPersistentProperty (MappingMongoConverter.java:290) ~ [ressort-data-mongodb-1.10.3.RELEASE.jar: na] à org .springframework.data.mongodb.core.convert.MappingMongoConverter $ 1.doWithPersistentProperty (MappingMongoConverter.java:278) ~ [ressort-data-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mapping. model.BasicPersistentEntity.doWithProperties (BasicPersistentEntity.java:330) ~ [ressort-données-communes-1.13.3.RELEASE.jar: na] à org.springframework.data.mongodb.core.convert.MappingMongoConverter.read (MappingMongoConverter. java: 278) ~ [ressort-données-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mongodb.core.convert.MappingMongoConverter.read (MappingMongoConverter.java:238) ~ [printemps- data-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mongodb.core.convert.MappingMongoConverter.read (MappingMongoConverter.java:198) ~ [ressort-data-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data. mongodb.core.convert.MappingMongoConverter.read (MappingMongoConverter.java:194) ~ [ressort-données-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mongodb.core.convert.MappingMongoConverter. read (MappingMongoConverter.java:85) ~ [ressort-data-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mongodb.core.MongoTemplate $ ReadDbObjectCallback.doWith (MongoTemplate.java:2313) ~ [spring-data-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal (MongoTemplate.java:1966) ~ [ressort-data-mongodb-1.10.3.RELEASE.jar: na] à org.springframework. data.mongodb.core.MongoTemplate.doFind (MongoTemplate.java:1784) ~ [spring-data-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mongodb.core.MongoTemplate.doFind (MongoTemplate.java:1767) ~ [spring-data-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mongodb.core.MongoTemplate.find (MongoTemplate.java:641) ~ [printemps- data-mongodb-1.10.3.RELEASE.jar: na] à l'adresse org.springframework.data.mongodb.repository.support.SimpleMongoRepository.findAll (SimpleMongoRepository.java:359) ~ [spring-data-mongodb-1.10.3. RELEASE.jar: na] sur org.springframework.data.mongodb.repository.support.SimpleMongoRepository.findAll (Simp leMongoRepository.java:197) ~ [ressort-données-mongodb-1.10.3.RELEASE.jar: na] à org.springframework.data.mongodb.repository.support.SimpleMongoRepository.findAll (SimpleMongoRepository.java:51) ~ [ spring-data-mongodb-1.10.3.RELEASE.jar: na] à sun.reflect.NativeMethodAccessorImpl.invoke0 (Méthode native) ~ [na: 1.8.0_111] à sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java : 62) ~ [na: 1.8.0_111] à sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [na: 1.8.0_111] à java.lang.reflect.Method.invoke (Method.java : 498) ~ [na: 1.8.0_111] à org.springframework.data.repository.core.support.RepositoryFactorySupport $ QueryExecutorMethodInterceptor.executeMethodOn (RepositoryFactorySupport.java:504) ~ [spring-data-commons-1.13.3.RELEASE .jar: na] à org.springframework.data.repository.core.support.RepositoryFactorySupport $ QueryExecutorMethodInterceptor.doInvoke (RepositoryFactorySupport.java:489) ~ [spring-data-commons-1.13.3.RELEASE.jar: na] à org.springframework. data.repository.core.support.RepositoryFactorySupport $ QueryExecutorMethodInterceptor.invoke (RepositoryFactorySupport.java:461) ~ [spring-data-commons-1.13.3.RELEASE.jar: na] à org.springframework.aop.framework.ReflectiveMethodInvocation. procéder (ReflectiveMethodInvocation.java:179) ~ [spring-aop-4.3.8.RELEASE.jar: 4.3.8.RELEASE] à org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke (DefaultMethodInvokingMethodInterceptor.java:61) ~ [ spring-data-commons-1.13.3.RELEASE.jar: na] à l'adresse org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:179) ~ [spring-aop-4.3 .8.RELEASE.jar: 4.3.8.RELEASE] à org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke (ExposeInvocationInterceptor.java:92) ~ [spring-aop-4.3.8.RELEASE.jar: 4.3.8 .RELEASE] à org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:179) ~ [spring-aop-4.3.8.RELEASE.jar: 4.3.8.RELEASE] à org.springframework.data .repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke (SurroundingTransactionDetectorMethodInterceptor.java:57) ~ [ressort-données-communes-1.13.3.RELEASE.jar: na] à org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation .java: 179) ~ [spring-aop-4.3.8.RELEASE.jar: 4.3.8.RELEASE] à org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:213) ~ [spring-anop -4.3.8.RELEASE.jar: 4.3.8. RELEASE] à com.sun.proxy. $ Proxy43.findAll (source inconnue) ~ [na: na] à hello.Application.run (Application.java:58) [classes /: na] à org.springframework. boot.SpringApplication.callRunner (SpringApplication.java:776) [spring-boot-1.5.3.RELEASE.jar: 1.5.3.RELEASE] ... 6 images courantes omises
S'il vous plaît ajouter la trace de la pile d'exception –