如何在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(实体)给出排序顺序