【问题标题】:spring data neo4j 3.0.0 - why two labels set by defaultspring data neo4j 3.0.0 - 为什么默认设置两个标签
【发布时间】:2014-03-25 00:08:27
【问题描述】:

我需要为我的Neo4j 数据库编写批量导入实用程序,但我不想失去 SDN 的存储库功能。为了实现这个目标,我想插入这样的节点,这些节点仍然可以使用自动生成的存储库方法进行查询。

我在我的数据库中插入了一些节点,并查看了它们的属性和标签以了解它们是如何设置的,我注意到SDN 插入的节点有两个标签。例如,代表类SomeClass 的节点具有标签:["_SomeClass", "SomeClass"]。我的问题是:为什么要为每个节点设置两个几乎相同的标签?

【问题讨论】:

    标签: neo4j spring-data-neo4j


    【解决方案1】:

    哦,这其实很简单。我们必须以某种方式注意当前节点是否属于 SomeClass 类型,我们通过在前面加上“_”来做到这一点。由于为每种超类型添加了标签,因此您需要区分 Spring Data Neo4j 中节点的实际类型。

    因此,您可以拥有:_Developer、Developer、Employee、Person,用于从 Person 到 Developer 的类层次结构。然后可能会有额外的接口标签。

    当您现在执行以下操作时:DeveloperRepository.findAll() 那么您只想要那些带有 _Developer 的返回,而不是从 Developer 派生的那些。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 2018-04-13
      • 1970-01-01
      • 2016-05-14
      • 2011-10-26
      • 1970-01-01
      相关资源
      最近更新 更多