我正在使用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<FinalMark> finalMarks;
. . .
public static Finder<Integer, Card> 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<Integer, FinalMark> find = new Finder<>(Integer.class,
FinalMark.class);
}
当我获取Card
实例(例如,通过Card.find.byId())时,也将获取所有相关的FinalMark
实例。但我怎么能对它们进行排序呢?是否可以通过Ebean或我对结果列表进行排序?
感谢您浪费时间。
答案 0 :(得分:8)
您可以在@javax.persistence.OrderBy
字段中添加@OneToMany
注释。
例如,如果您的position
实体上有FinalMark
字段,则可以使用以下代码在该字段上订购:
@Entity
public class Card extends Model {
...
@OneToMany(mappedBy = "card")
@OrderBy("position asc")
public List<FinalMark> finalMarks;
...
}
答案 1 :(得分:3)
使用此
Card.find.byId().orderBy("id asc");
//这将按id(实体)