在@OneToMany关系中,将获取多方实体的订单?

时间:2014-11-06 08:18:53

标签: jpa one-to-many

假设我们有@OneToMany关系:

@Entity
pulic class MyEntity {
    @OneToMany(cascade = CascadeType.PERSIST, fetch = FetchType.EAGER)
    private List<MyOtherEntity> myOtherEntityList;
}

当我从数据库加载MyEntity的实例时,MyOtherEntityList个实例的顺序是什么?我可以指定我希望它们在哪个顺序,例如,如果我希望它们按特定字段排序吗?

1 个答案:

答案 0 :(得分:2)

要订购列表,您可以使用两种策略

<强>第一

@OneToMany(cascade = CascadeType.PERSIST, fetch = FetchType.EAGER)
@OrderBy("name ASC")
private List<MyOtherEntity> myOtherEntityList;
  

指定值集合的元素的顺序   关联或关联时的关联或元素集合   收集集合。

<强>第二

@OneToMany(cascade = CascadeType.PERSIST, fetch = FetchType.EAGER)
@OrderColumn("order")
private List<MyOtherEntity> myOtherEntityList;
  

指定用于维护a的持久顺序的列   列表

如果您不使用上述注释,请记住您的JPA提供商执行简单的选择而您丢失了任何订单。