2017-06-12 246 views
0

我們有這樣訂購嵌套集合

@NodeEntity(label = "User") 
public class UserEntity { 
    @GraphId 
    private Long mId; 

    @Property(name = "address") 
    private String address; 

    @Relationship(type="FRIEND_WITH", direction = Relationship.INCOMING) 
    private List<UserEntity> friends; 

    @Relationship(type="OWNS") 
    private List<CarEntity> cars; 

的實體,我們想找回水合達到與屬性(creationDate)下令收集一個級別的用戶列表。

我們開始與這一點,但我們不知道如何訂購收藏

MATCH p = (u:User) - [*0..1] -() WHERE <condition> RETURN nodes(p), relationships(p) 

回答

2

在映射集合保持結果的排序,當你的路徑具有長度> 2,可以有周期變得模糊。

如果你想對關係的集合維持秩序,你有幾種選擇:

  • 使用-SortedSet-並在實體實施Comparable在setter方法
  • 排序關係

您可以通過相關節點的屬性或通過關係屬性進行排序 - 因爲您需要一個關係實體。

+0

所以,我不得不排序結果java方面。我無法用密碼來完成,對吧? – aGO

+0

是的,即使你做了,OGM也會保留訂單。 –