Spring Data Neo4j (SDN):嵌套对象未由密码填充
Spring Data Neo4j (SDN): Nested objects not populated by cypher
我是图数据库新手,需求是从neo4j 1.9.1迁移到最新的。我已成功将其配置为使用最新版本,但在检索嵌套 objects/collections.
时遇到一些困难
在现有的实现中,属性有 @Fetch
注释,但它不再可用。
当我查询数据库时,它 returns 正确数量的节点,但这些节点不包含嵌套的 object/relationships。
例如,我的 POJO 看起来像这样:
@NodeEntity
public class Category {
@GraphId
Long id;
private String categoryId;
@Index
private String unitId;
@Index
private String companyCategoryCode;
private String companyLabel;
private String supplierId;
@Relationship(type = "CHILD_OF", direction = Relationship.OUTGOING)
private Category parent;
... getters and setters
}
存储库如下所示:
public interface CategoryRepository extends GraphRepository<Category> {
@Query(
"MATCH (:ContentViewGroup {token:{token},active:true})-[:ASSOCIATED]-
(:ContentView {active:true})-[r:MAPS_WITH]-(category:Category) "
+ "WHERE r.count > 0 "
+ "RETURN category ")
List<Category> getCategories(@Param("token") String cvGroupToken);
}
我总是在 Category
class 的 parent
对象中得到 null
。
在这方面有什么帮助吗?
注意:我正在使用 Neo4j-ogm-api v2.1.6 和 Spring 数据 neo4j v4.2.10-RELEASE
您还必须 return 密码查询中的父类别。
例如:
MATCH (:ContentViewGroup {token:{token},active:true})-[:ASSOCIATED]-(:ContentView {active:true})-[r:MAPS_WITH]-(category:Category)-[:CHILD_OF]->(parent:Category) WHERE r.count > 0 RETURN category, parent
SDN/OGM 只能为从 Neo4j 接收的数据创建对象。
我是图数据库新手,需求是从neo4j 1.9.1迁移到最新的。我已成功将其配置为使用最新版本,但在检索嵌套 objects/collections.
时遇到一些困难在现有的实现中,属性有 @Fetch
注释,但它不再可用。
当我查询数据库时,它 returns 正确数量的节点,但这些节点不包含嵌套的 object/relationships。
例如,我的 POJO 看起来像这样:
@NodeEntity
public class Category {
@GraphId
Long id;
private String categoryId;
@Index
private String unitId;
@Index
private String companyCategoryCode;
private String companyLabel;
private String supplierId;
@Relationship(type = "CHILD_OF", direction = Relationship.OUTGOING)
private Category parent;
... getters and setters
}
存储库如下所示:
public interface CategoryRepository extends GraphRepository<Category> {
@Query(
"MATCH (:ContentViewGroup {token:{token},active:true})-[:ASSOCIATED]-
(:ContentView {active:true})-[r:MAPS_WITH]-(category:Category) "
+ "WHERE r.count > 0 "
+ "RETURN category ")
List<Category> getCategories(@Param("token") String cvGroupToken);
}
我总是在 Category
class 的 parent
对象中得到 null
。
在这方面有什么帮助吗?
注意:我正在使用 Neo4j-ogm-api v2.1.6 和 Spring 数据 neo4j v4.2.10-RELEASE
您还必须 return 密码查询中的父类别。
例如:
MATCH (:ContentViewGroup {token:{token},active:true})-[:ASSOCIATED]-(:ContentView {active:true})-[r:MAPS_WITH]-(category:Category)-[:CHILD_OF]->(parent:Category) WHERE r.count > 0 RETURN category, parent
SDN/OGM 只能为从 Neo4j 接收的数据创建对象。