2017-06-12 7 views
0

Wir haben ein Unternehmen wie dieseeine verschachtelte Sammlung Bestell

@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; 

und wir möchten eine Liste der Benutzer auf eine Ebene mit den von einem Objekt (creation) bestellt Sammlungen hydrierte bis holen.

Wir begannen damit, aber wir wissen nicht, wie die Sammlungen

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

Antwort

2

Keeping Reihenfolge der Ergebnisse in kartiert Sammlungen bestellen mehrdeutig werden, wenn die Pfadlänge hat> 2 und Zyklen hat.

Wenn Sie Auftrag auf Sammlungen von Beziehungen verhängen wollen, müssen Sie mehrere Möglichkeiten:

  • Verwendung ein -SortedSet- und implementieren Comparable in Ihre Entitäten
  • sortieren Beziehungen in Setter-Methode

Sie können entweder nach einer Eigenschaft eines verknüpften Knotens oder nach einer Beziehungseigenschaft sortieren - dazu benötigen Sie eine Beziehungsentität.

+0

Also, ich muss das Ergebnis Java-Seite sortieren. Ich kann es nicht mit der Chiffre machen, oder? – aGO

+0

Ja, OGM würde die Bestellung behalten, selbst wenn Sie es getan hätten. –

Verwandte Themen