当我将关系设置为 EAGER 时,我有 2 个表绑定在“一对多”连接中,然后从表 A 中获取记录,然后对于每条记录,如果假设我有 100 条记录,则从表 B 中获取数据在表 B 中,完成了 100 个选择查询,这对性能来说真的很糟糕。我需要做些什么来设置它正确以便所有数据都将在 1 个查询中获取?
1 回答
绝地无双
TA贡献1946条经验 获得超4个赞
你有所谓的 1+n 问题。
一种解决方案是调整集合的获取设置。找不到 JPA 的简写方式。但是由于您使用 Hibernate,这应该有效:
@org.hibernate.annotations.Fetch(FetchMode.JOIN) or better FetchMode.SUBSELECT
如果您正在执行查询,则必须通过添加join fetch
.
添加回答
举报
0/150
提交
取消