繁体   English   中英

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

[英]How can I sort related entities in 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<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;
    ...
}

用这个

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM