我需要为我的Neo4j
数据库编写批量导入实用程序,但我不想丢失SDN的存储库功能。为了实现这个目标,我想插入可以使用自动生成的存储库方法查询的节点。
我将一些节点插入到我的数据库中,然后查看了它们的属性和标签,看看它们是如何设置的,我注意到SDN
插入的节点有两个标签。例如,表示类SomeClass
的节点具有标签:["_SomeClass", "SomeClass"]
。我的问题是:为什么为每个节点设置两个几乎相同的标签?
答案 0 :(得分:3)
哦,这其实很简单。我们必须注意当前节点是否为SomeClass类型,我们通过预先设置" _"来完成。由于为每个超类型添加了标签,您需要区分Spring Data Neo4j中节点的实际类型。
所以你可以拥有:_Developer,Developer,Employee,Person,用于从Person到Developer的类层次结构。然后可能会有其他接口标签。
当你现在这样做:DeveloperRepository.findAll()然后你只需要那些带有_Developer的人,而不是那些派生自Developer的人。