Java8和Spring数据Neo4j应用程序查询
我有一大堆关于Java8和SDN4的问题。我在Neo4j v3.0中创建了一个模型,使用了一些Cypher查询,现在开始创建Spring引导应用程序。当我开始用Java编写类时,我也开始重新思考我的一些模型。以下是我脑海中的一些问题(我还没有找到一个例子来解释这一点):Java8和Spring数据Neo4j应用程序查询,neo4j,spring-boot,java-8,spring-data-neo4j-4,neo4j-ogm,Neo4j,Spring Boot,Java 8,Spring Data Neo4j 4,Neo4j Ogm,我有一大堆关于Java8和SDN4的问题。我在Neo4j v3.0中创建了一个模型,使用了一些Cypher查询,现在开始创建Spring引导应用程序。当我开始用Java编写类时,我也开始重新思考我的一些模型。以下是我脑海中的一些问题(我还没有找到一个例子来解释这一点): 您是否需要使用Java接口和SDN?例如,我会编写一个产品接口,然后让我的产品实现它,但使用标签时是这样做的吗 这在某种程度上与我关于继承的问题有关——我通常会有一个ProductFamily,我的Product将从中继承。在数
产品
接口,然后让我的产品实现它,但使用标签时是这样做的吗ProductFamily
,我的Product
将从中继承。在数据库级别,它被建模为(:Product)-[PartOf]->(:ProductFamily)
,但在代码中,它们不是超级/子类李>
@NodeEntity
注释的产品接口,那么除了实现类上的标签之外,您还将有产品
标签,我假设这就是您想要的。如果您的接口没有注释,那么您的实现类将不会从中继承标签ProductFamily
,它继承自Product
,但在代码中它不是一个超级/子类?
根据您的图形模型,如果您想要(:Product)-[PartOf]>(:ProductFamily)
,那么您将拥有一个Product
类,该类维护对ProductFamily
类的引用,并且该引用用@Relationship
注释。如果Product
类继承自ProductFamily
,则持久化Product
将产生两个标签-Product
和ProductFamily
,因为Product
是-aProductFamily
类型
和方向
的@关系
注释。请注意,此注释仅约束您的域模型,但您可以通过自定义查询在另一个方向上创建关系来很好地忽略这一点@NodeEntity
注释的产品接口,那么除了实现类上的标签之外,您还将有产品
标签,我假设这就是您想要的。如果您的接口没有注释,那么您的实现类将不会从中继承标签ProductFamily
,它继承自Product
,但在代码中它不是一个超级/子类?
根据您的图形模型,如果您想要(:Product)-[PartOf]>(:ProductFamily)
,那么您将拥有一个Product
类,该类维护对ProductFamily
类的引用,并且该引用用@Relationship
注释。如果Product
类继承自ProductFamily
,则持久化Product
将产生两个标签-Product
和ProductFamily
,因为Product
是-aProductFamily
类型
和方向
的@关系
注释。请注意,此注释仅约束您的域模型,但您可以通过自定义查询在另一个方向上创建关系来很好地忽略这一点非常感谢。关于(2)和(3),我的想法是,我可以将基于ProductFamily的集合作为泛型使用,即使我在查询中有返回的产品。大多数属性在
ProductFamily
类中定义,而Product
类仅具有特定于它的属性。例如,用户查询所有支持特定功能的产品
s,如果它是一个全系列的功能,则我可以返回ProductFamily
,如果它不是,则返回一些特定的产品
s,但我的集合是相同的。希望这有意义!是的,有可能,尽管产品节点上有两个标签(产品和产品系列),谢谢!关于(2)和(3),我的想法是,我可以将基于ProductFamily的集合作为泛型使用,即使我在查询中有返回的产品。大多数属性在ProductFamily
类中定义,而Product
类仅具有特定于它的属性。例如,用户查询所有支持特定功能的产品
s,如果它是一个全系列的功能,则我可以返回ProductFamily
,如果它不是,则返回一些特定的产品
s,但我的集合是相同的。希望这有意义!是的,有可能,但产品节点上有两个标签(产品和产品系列)