订购嵌套集合
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 方法
中的排序关系
您可以按相关节点的 属性 或按关系 属性 排序 - 为此您需要一个关系实体。
我们有这样一个实体
@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 方法 中的排序关系
您可以按相关节点的 属性 或按关系 属性 排序 - 为此您需要一个关系实体。