私はグラフデータベースを初めて使用します。要件は、neo4j1.9.1から最新のものに移行することです。最新のものを使用するように正常に構成しましたが、ネストされたオブジェクト/コレクションを取得する際にいくつかの問題に直面しています。
既存の実装では、プロパティに@Fetch
注釈がありましたが、使用できなくなりました。
データベースにクエリを実行すると、正しい数のノードが返されますが、それらのノードにはネストされたオブジェクト/関係が含まれていません。
たとえば、私の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);
}
私はいつもクラスnull
のparent
対象になりますCategory
。
この点で何か助けはありますか?
注:Neo4j-ogm-apiv2.1.6とSpringデータneo4jv4.2.10-RELEASEを使用しています
暗号クエリ内でも親カテゴリを返す必要があります。
例えば: 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から受信したデータのオブジェクトのみを作成できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加