我正在使用 Play Framework 和 Ebean ORM。比如说,我有 2 个相关的实体类(Card.java 和 FinalMark.java)
卡片.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 是否有可能,或者我应该对结果列表进行排序?
感谢您浪费您的时间。
最佳答案
您可以在 @OneToMany
字段上添加 @javax.persistence.OrderBy
注释。
例如,如果您的 FinalMark
实体上有一个 position
字段,您可以使用以下代码在该字段上订购:
@Entity
public class Card extends Model {
...
@OneToMany(mappedBy = "card")
@OrderBy("position asc")
public List<FinalMark> finalMarks;
...
}
关于java - 如何对 Ebean 中的相关实体进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23925538/