Neo4j 类java.lang.String name rel:false idx:true的索引名必须不同于默认名称(SDN ;3.0)
从SDN 2.3.4升级到3.0.0.RELEASE后,我有两个测试失败:Neo4j 类java.lang.String name rel:false idx:true的索引名必须不同于默认名称(SDN ;3.0),neo4j,spring-data-neo4j,Neo4j,Spring Data Neo4j,从SDN 2.3.4升级到3.0.0.RELEASE后,我有两个测试失败: Index name for class java.lang.String name rel: false idx: true must differ from the default name: BesoinNode 在BesoinNode类中,我以前使用了@Indexed(indexName=“indexOfNeeds”),但由于以下原因删除了indexName。现在,我的索引声明很简单: @索引 私有字符串名称;
Index name for class java.lang.String name rel: false idx: true must differ from the default name: BesoinNode
在BesoinNode
类中,我以前使用了@Indexed(indexName=“indexOfNeeds”)
,但由于以下原因删除了indexName
。现在,我的索引声明很简单:
@索引
私有字符串名称;
失败的测试代码为:
@测试
公共最终无效t02_TestBesoinDAORetrieve(){
//我们在数据存储中创建一个新对象
besoinneed1=needDAO.create(新的BesoinNode(“t02需要”);
assertEquals(newlong(1),needDAO.count());
//我们使用对象的id从数据存储中检索对象
besoinneed1bis=needDAO.retrieveById(need1.getId());
资产质量(需要1,需要1比);
assertEquals(need1.getId(),need1bis.getId());
assertEquals(need1.getName(),need1bis.getName());
//我们使用对象名从数据存储中检索对象
besoinneed1ter=needDAO.retrieveByName(need1.getName());
资产质量(需要1,需要1);
assertEquals(need1.getId(),need1ter.getId());
assertEquals(need1.getName(),need1ter.getName());
}
如果我注释掉对retrieveByName
的调用,则测试成功。代码如下:
@覆盖
public Besoin retrieveByName(字符串名){
返回repository.findByPropertyValue(“name”,name);
}
如何重写我的retrieveByName
方法来解决错误?谢谢
注意:虽然这可能与问题无关,但我在IndexRepository#findByPropertyValue(String,Object)
中看到它已被弃用。只有abstractgraphrespository#findByPropertyValue(字符串、对象)
未被弃用。问题是我的存储库扩展了graphrespository
,而graphrespository
扩展了IndexRepository
,这是我无法控制的
注2:使用
@index(indexType=indexType.SIMPLE)
可使测试成功。但这会改变旧的索引系统(而不是基于标签的新索引系统)。你能为此提出JIRA问题吗?非常感谢。完成: