2015-02-23 29 views
0

我正在使用Neo4jOperations查詢neo。 Spring正在獲取節點及其父節點,但也得到了父母的孩子,顯然我並不感興趣,我只希望節點的直接父母和孩子。春季neo4j模板加載遞歸節點

@Repository 
public class PracticeAreaRepository { 

@Autowired 
Neo4jOperations template; 

public PracticeArea get(String uuid){ 
    PracticeArea practiceArea = template.findByIndexedValue(PracticeArea.class, "practiceAreaId", uuid).singleOrNull(); 
    template.fetch(practiceArea.getChildren()); 
    template.fetch(practiceArea.getParent()); 
    return practiceArea; 
} 
} 

PracticeArea.java

@NodeEntity 
public class PracticeArea { 

@GraphId 
private Long id; 

private String name; 

@Indexed 
@GraphProperty(propertyName = "practice_area_id") 
private UUID practiceAreaId; 

@RelatedTo(type = "HAS_PARENT_PRACTICE_AREA", direction = Direction.OUTGOING) 
PracticeArea parent; 

@RelatedTo(type = "HAS_CHILD_PRACTICE_AREA", direction = Direction.OUTGOING) 
Set<PracticeArea> children; 

/* Getters & Setters */ .... 
} 

如何阻止春天的Neo4j做到這一點?

回答

0

那就不叫:

template.fetch(practiceArea.getParent()); 

或者實際上是通話不應該取這父母的子女,如果該父是不是已經在你的當前線程加載。