订购嵌套集合

Ordering a nested collection

我们有这样一个实体

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

并且我们想要检索一个用户列表,该列表的水化程度达到一个级别,集合按 属性(创建日期)排序。

我们从这个开始,但我们不知道如何订购这些系列

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

当您的路径长度 > 2 并且可以有循环时,保持映射集合中结果的顺序变得不明确。

如果您想对关系集合强加顺序,您有多种选择:

  • 使用 -SortedSet- 并在您的实体中实施 Comparable
  • setter 方法
  • 中的排序关系

您可以按相关节点的 属性 或按关系 属性 排序 - 为此您需要一个关系实体。