Spring boot 使用spring-data-neo4j时出现映射异常

Spring boot 使用spring-data-neo4j时出现映射异常,spring-boot,spring-data-neo4j,Spring Boot,Spring Data Neo4j,最近,我用spring-data-neo4j编写了一个小的电影推荐演示。 但我无意中发现了奇怪的映射异常。 下面是异常堆栈跟踪 java.lang.IllegalStateException:未能执行CommandLineRunner 位于org.springframework.boot.SpringApplication.runCommandLineRunnersSpringApplication.java:675 位于org.springframework.boot.SpringAppli

最近,我用spring-data-neo4j编写了一个小的电影推荐演示。 但我无意中发现了奇怪的映射异常。 下面是异常堆栈跟踪

java.lang.IllegalStateException:未能执行CommandLineRunner 位于org.springframework.boot.SpringApplication.runCommandLineRunnersSpringApplication.java:675 位于org.springframework.boot.SpringApplication.afterRefreshSpringApplication.java:690 位于org.springframework.boot.SpringApplication.runSpringApplication.java:321 位于org.springframework.boot.SpringApplication.runSpringApplication.java:957 位于org.springframework.boot.SpringApplication.runSpringApplication.java:946 网址:com.liudonghua.apps.neo4j_data_importer.Application.mainApplication.java:202 原因:org.springframework.data.mapping.model.MappingException:将属性用户设置为com.liudonghua.apps.neo4j_data_importer.domain。Movie@66286c8在com.liudonghua.apps.neo4j_data_importer.domain上。Rating@618519cf 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.setPropertySourceStateTransmitter.java:85 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.copyEntityStatePropertyValueSourceStateTransmitter.java:91 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.access$000SourceStateTransmitter.java:40 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitor$2.doWithAssociationSourceStateTransmitor.java:61 位于org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociationsBasicPersistentEntity.java:337 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.copyPropertiesFromSourceStateTransmitter.java:57 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityConverterImpl.loadEntityNeo4jEntityConverterImpl.java:112 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityConverterImpl.readNeo4jEntityConverterImpl.java:104 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister$CachedConverter.readNeo4jEntityPersister.java:170 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.createEntityFromStateNeo4jEntityPersister.java:192 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.persisteneo4jentitypersister.java:250 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.persisteneo4jentitypersister.java:231 位于org.springframework.data.neo4j.support.Neo4jTemplate.saveNeo4jTemplate.java:357 位于org.springframework.data.neo4j.fieldaccess.RelatedToViaCollectionFieldAccessorFactory$RelatedToViaCollectionFieldAccessor.persistentiesrelatedtoviacollectionfieldaccessorfactory.java:99 位于org.springframework.data.neo4j.fieldaccess.RelatedToViaCollectionFieldAccessorFactory$RelatedToViaCollectionFieldAccessor.setValueRelatedToViaCollectionFieldAccessorFactory.java:93 位于org.springframework.data.neo4j.fieldaccess.DefaultEntityState.setValueDefaultEntityState.java:113 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.setEntityStateValueSourceStateTransmitter.java:70 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.access$100SourceStateTransmitter.java:40 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitor$4.doWithAssociationSourceStateTransmitor.java:113 位于org.springframework.data.mapping.model.BasicPersistentEntity.doWithAssociationsBasicPersistentEntity.java:337 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.copyPropertiesToSourceStateTransmitter.java:109 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityConverterImpl.writeNeo4jEntityConverterImpl.java:167 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister$CachedConverter.writeNeo4jEntityPersister.java:179 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.persisteneo4jentitypersister.java:243 位于org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.persisteneo4jentitypersister.java:231 位于org.springframework.data.neo4j.support.Neo4jTemplate.saveNeo4jTemplate.java:357 位于org.springframework.data.neo4j.support.Neo4jTemplate.saveNeo4jTemplate.java:351 位于org.springframework.data.neo4j.repository.AbstractGraphRespository.SaveAbstractGraphRespository.java:91 位于org.springframework.data.neo4j.repository.AbstractGraphRespository.SaveAbstractGraphRespository.java:98 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法中 位于sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:62 在sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 位于java.lang.reflect.Method.invokeMethod.java:497 位于org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInInterceptor.executeMethodOnRepositoryFactorySupport.java:416 在org.springframe work.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvokeRepositoryFactorySupport.java:401 位于org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invokeRepositoryFactorySupport.java:373 位于org.springframework.aop.framework.ReflectiveMethodInvocation.proceedReflectiveMethodInvocation.java:179 位于org.springframework.data.repository.core.support.RepositoryFactorySupport$DefaultMethodInvokingMethodInterceptor.invokeRepositoryFactorySupport.java:486 位于org.springframework.aop.framework.ReflectiveMethodInvocation.proceedReflectiveMethodInvocation.java:179 位于org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocationTransactionInterceptor.java:99 位于org.springframework.transaction.interceptor.TransactionSpectSupport.invokewithIntransactionTransactionSpectSupport.java:281 位于org.springframework.transaction.interceptor.TransactionInterceptor.invokeTransactionInterceptor.java:96 位于org.springframework.aop.framework.ReflectiveMethodInvocation.proceedReflectiveMethodInvocation.java:179 位于org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invokePersistenceExceptionTranslationInterceptor.java:136 位于org.springframework.aop.framework.ReflectiveMethodInvocation.proceedReflectiveMethodInvocation.java:179 位于org.springframework.aop.framework.JdkDynamicAopProxy.invokejdkddynamicaopproxy.java:207 位于com.sun.proxy.$Proxy52.saveUnknown Source 网址:com.liudonghua.apps.neo4j_data_importer.Application.runApplication.java:109 位于org.springframework.boot.SpringApplication.runCommandLineRunnersSpringApplication.java:672 ... 省略了5个公共框架 原因:org.springframework.core.convert.ConverterNotFoundException:未找到能够从com.liudonghua.apps.neo4j_data_importer.domain.Movie类型转换为com.liudonghua.apps.neo4j_data_importer.domain.User类型的转换器 位于org.springframework.core.convert.support.GenericConversionService.handleConverterNotFoundGenericConversionService.java:311 位于org.springframework.core.convert.support.GenericConversionService.convertGenericConversionService.java:192 位于org.springframework.core.convert.support.GenericConversionService.convertGenericConversionService.java:173 位于org.springframework.data.mapping.model.BeanWrapper.getPotentiallyConvertedValueBeanWrapper.java:157 位于org.springframework.data.mapping.model.BeanWrapper.setPropertyBeanWrapper.java:75 位于org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.setPropertySourceStateTransmitter.java:83
... 省略53个公共帧最后,我通过重写正确的equals、hashCode方法并提供完整的getter和setter解决了这个问题