gpt4 book ai didi

java - 集合获取连接

转载 作者:太空宇宙 更新时间:2023-11-04 08:23:39 25 4
gpt4 key购买 nike

假设我有一个 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();
}

如果没有distinct关键字,它将对 MyEntity 和 e.children 进行叉积。

同时使用distinct和join fetch来避免集合的N+1 Select问题是否被认为是一种好的做法?有副作用吗?

最佳答案

您必须使用“SELECT DISTINCT”,因为正在 MyEntity 和子级之间执行笛卡尔积。

对不起我的英语

关于java - 集合获取连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com