我想问一下这个常见的警告--HHH000104: firstResultmaxResults specified with collection fetch; applying in memory!
我找到了很多和这个问题相关的问题。但我不确定这个问题itsefl。所以我有一些问题。
第一个是关于Hibernate的一些内存方案?Hibernate使用的是什么样的内存?"在什么样的内存中保存了一些resultSets?""第一和第二lvl缓存是什么样的内存?"最后是警告--"在内存中应用 "的问题?那是什么样的内存?它比hibernate使用的 "常规内存 "要慢,这就导致了问题?我们说的是JVM内存吗?(这可能会通过我之前的问题来回答)
恕我多嘴问一句。谢谢你
如果你加入获取一个集合,并使用 setFirstResult
setMaxResults
在该查询上,Hibernate将使用低效的策略进行分页。如果你避免join取集合,hibernate会生成一个只取它需要的元素的查询。
另一个选择是使用Blaze-Persistence这样的库,它工作在JPA之上,实现了高效的分页。https:/persistence.blazebit.comdocumentationcoremanualen_USindex.html#pagination。