Spring数据neo4j:不存在主SDN标签。。(即以u开头的一个)
试图在Spring数据neo4j:不存在主SDN标签。。(即以u开头的一个),neo4j,spring-data-neo4j,Neo4j,Spring Data Neo4j,试图在UserRepository扩展GraphRespository上执行以下方法,但它引发了异常 @Query( "MERGE (user:User {appId:{0}, uid:{1}})" + "RETURN user" ) public User createUserIfNotExists(String appId, String userId); Exception in thread "main" java.lang.IllegalArgumentExcepti
UserRepository扩展GraphRespository
上执行以下方法,但它引发了异常
@Query(
"MERGE (user:User {appId:{0}, uid:{1}})" +
"RETURN user"
)
public User createUserIfNotExists(String appId, String userId);
Exception in thread "main" java.lang.IllegalArgumentException: Environment must not be null!
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.data.repository.config.RepositoryConfigurationSourceSupport.<init>(RepositoryConfigurationSourceSupport.java:50)
at org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource.<init>(AnnotationRepositoryConfigurationSource.java:74)
at org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport.registerBeanDefinitions(RepositoryBeanDefinitionRegistrarSupport.java:74)
at org.springframework.context.annotation.ConfigurationClassParser.processImport(ConfigurationClassParser.java:396)
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:207)
例外情况:
java.lang.IllegalStateException: No primary SDN label exists .. (i.e one with starting with _)
at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:125)
at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:42)
但是,将查询更改为“合并”(用户:_user工作,并将标签_user
应用于创建的节点
Q1.我可以告诉SDN仅将用户
作为标签,并避免\u用户
Q2.如果没有,那么如何将
用户
和\u用户
标签都附加到所有用户节点。目前仅附加\u用户
标签
编辑:
java.lang.IllegalStateException: No primary SDN label exists .. (i.e one with starting with _)
at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:125)
at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:42)
问题1:
java.lang.IllegalStateException: No primary SDN label exists .. (i.e one with starting with _)
at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:125)
at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:42)
在我以前的SDN版本(即3.0.0.RELEASE
)中,突然查询user:user:\u user
开始工作,但在类似查询的Song:Song:\u Song
存储库中失败,但适用于Song:\u Song
或Song:Song
问题2:
java.lang.IllegalStateException: No primary SDN label exists .. (i.e one with starting with _)
at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:125)
at org.springframework.data.neo4j.support.typerepresentation.LabelBasedNodeTypeRepresentationStrategy.readAliasFrom(LabelBasedNodeTypeRepresentationStrategy.java:42)
当我更新我的SDN或Neo4j版本时,我遇到了奇怪的异常,这就是为什么我没有更新我的SDN和Neo4j版本
刚才我将我的SDN更新为版本3.1.1
,并保持neo4j版本相同(即2.0.1
),代码也相同,但随后我得到了以下异常
@Query(
"MERGE (user:User {appId:{0}, uid:{1}})" +
"RETURN user"
)
public User createUserIfNotExists(String appId, String userId);
Exception in thread "main" java.lang.IllegalArgumentException: Environment must not be null!
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.data.repository.config.RepositoryConfigurationSourceSupport.<init>(RepositoryConfigurationSourceSupport.java:50)
at org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource.<init>(AnnotationRepositoryConfigurationSource.java:74)
at org.springframework.data.repository.config.RepositoryBeanDefinitionRegistrarSupport.registerBeanDefinitions(RepositoryBeanDefinitionRegistrarSupport.java:74)
at org.springframework.context.annotation.ConfigurationClassParser.processImport(ConfigurationClassParser.java:396)
at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:207)
线程“main”java.lang.IllegalArgumentException中的异常:环境不能为null!
位于org.springframework.util.Assert.notNull(Assert.java:112)
位于org.springframework.data.repository.config.RepositoryConfigurationSourceSupport。(RepositoryConfigurationSourceSupport.java:50)
位于org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource。(AnnotationRepositoryConfigurationSource.java:74)
位于org.springframework.data.repository.config.repositorybeandefinitionregistersupport.registerBeanDefinitions(repositorybeandefinitionregistersupport.java:74)
位于org.springframework.context.annotation.ConfigurationClassParser.processImport(ConfigurationClassParser.java:396)
位于org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:207)
在第ApplicationContext-appCtx=new AnnotationConfigApplicationContext(ApplicationConfig.class);
它需要带有下划线的标签来标识
实际上属于这个类(在继承层次结构中)
迈克尔
使用:
或
您使用的是哪个版本的SDN/neo4j?我使用的是SDN 3.1.1和neo4j 2.1.2,它运行良好。3.0.0.RELEASE,2.0。1@MichaelHunger我将我的SDN版本更新为3.1.1,并进入了另一个问题…我在问题中提到了这些问题(已编辑)尝试将neo4j更新到2.1.2。@YatendraGoel升级到spring 3.2.9.RELEASE,因为这是SDN使用的版本。