如何在一个JPQL查询中使用多个JOIN FETCH
- 论坛
- 如何在一个JPQL查询中使用多个JOIN FETCH
28 浏览
如何在一个JPQL查询中使用多个JOIN FETCH
我有以下实体:
public class Category { private Integer id; @OneToMany(mappedBy = "parent") private Listtopics; } public class Topic { private Integer id; @OneToMany(mappedBy = "parent") private List posts; @ManyToOne @JoinColumn(name = "id") private Category parent; } public class Post { private Integer id; @ManyToOne @JoinColumn(name = "id") private Topic parent; /* Post fields */ }
我想使用JPQL查询获取所有连接了topics
和posts
的类别。我编写了以下查询语句:
SELECT c FROM Category c JOIN FETCH c.topics t JOIN FETCH t.posts p WHERE
但是我收到了错误信息
org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags
我找到了关于这个错误的文章,但这些文章只描述了一个实体中有两个要连接的集合的情况。我的问题有些不同,我不知道如何解决。
有可能在一个查询中实现吗?