如何在Ebean中对相关实体进行排序? [英] How can I sort related entities in Ebean?
问题描述
我正在使用Play Framework和Ebean ORM。说,我有2个相关的实体类(Card.java和FinalMark.java)
I am using Play Framework and Ebean ORM. Say, I have 2 related entity classes (Card.java and FinalMark.java)
Card.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
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);
}
当我拿到卡
instance(例如,通过Card.find.byId()),也将获取所有相关的 FinalMark
实例。但我怎么能对它们进行排序呢? Ebean或者我应该对结果列表进行排序吗?
When I fetching Card
instance (by Card.find.byId() for example), All related FinalMark
instances also will be fetched. But how can I sort them? Is it possible by Ebean or I should sort resulting list?
感谢您浪费时间。
推荐答案
您可以在 @OneToMany
上添加 @javax.persistence.OrderBy
注释字段。
You can add the @javax.persistence.OrderBy
annotation on your @OneToMany
field.
例如,如果您的 FinalMark上有
实体,您可以使用以下代码在该字段上订购:位置
字段
For example, if you have a position
field on your FinalMark
entity, you could order on that field with this code :
@Entity
public class Card extends Model {
...
@OneToMany(mappedBy = "card")
@OrderBy("position asc")
public List<FinalMark> finalMarks;
...
}
这篇关于如何在Ebean中对相关实体进行排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!