1
假设我有一个JPA实体和查询:收藏获取加入
@Entity
public class MyEntity {
@OneToMany(fetch = FetchType.LAZY)
private List<ChildEntity> children = new ArrayList<ChildEntity>();
}
public List<MyEntity> fetchAll() {
return em.createQuery("select distinct e from MyEntity e join fetch e.children")
.getResultList();
}
没有不同关键字会做myEntity所和e.children的跨产品。
使用独立和联合提取避免N + 1选择合并问题是否被认为是一种好的做法?它有副作用吗?
不,它有同样的结果。假设我有两个MyEntities和两个孩子。此查询返回4个MyEntities,但我只需要2个。 – ike3