如何在Ebean中对相关实体进行排序?

我正在使用Play Framework和Ebean ORM。 说,我有2个相关的实体类(Card.java和FinalMark.java)

Card.java

@Entity public class Card extends Model { private static final long serialVersionUID = 1L; @Id . . . @OneToMany(mappedBy = "card") public List finalMarks; . . . public static Finder find = new Finder(Integer.class, Card.class); } 

FinalMark.java

 @Entity public class FinalMark extends Model { private static final long serialVersionUID = 1L; @Id @ManyToOne public Card card; . . . public static Finder find = new Finder(Integer.class, FinalMark.class); } 

当我获取Card实例时(例如,通过Card.find.byId()),也将获取所有相关的FinalMark实例。 但我怎么能对它们进行排序呢? Ebean或我应该对结果列表进行排序吗?

谢谢你浪费你的时间。

您可以在@OneToMany字段上添加@javax.persistence.OrderBy注释。

例如,如果您在FinalMark实体上有一个position字段,则可以使用以下代码在该字段上进行排序:

 @Entity public class Card extends Model { ... @OneToMany(mappedBy = "card") @OrderBy("position asc") public List finalMarks; ... } 

用这个

Card.find.byId().orderBy("id asc"); //这将按id(实体)给出排序顺序