Hibernate警告--在内存中应用! - 兜底?什么样的内存?

问题描述 投票:0回答:1

我想问一下这个常见的警告--HHH000104: firstResultmaxResults specified with collection fetch; applying in memory!

我找到了很多和这个问题相关的问题。但我不确定这个问题itsefl。所以我有一些问题。

第一个是关于Hibernate的一些内存方案?Hibernate使用的是什么样的内存?"在什么样的内存中保存了一些resultSets?""第一和第二lvl缓存是什么样的内存?"最后是警告--"在内存中应用 "的问题?那是什么样的内存?它比hibernate使用的 "常规内存 "要慢,这就导致了问题?我们说的是JVM内存吗?(这可能会通过我之前的问题来回答)

恕我多嘴问一句。谢谢你

hibernate pagination query-performance
1个回答
0
投票

如果你加入获取一个集合,并使用 setFirstResultsetMaxResults 在该查询上,Hibernate将使用低效的策略进行分页。如果你避免join取集合,hibernate会生成一个只取它需要的元素的查询。

另一个选择是使用Blaze-Persistence这样的库,它工作在JPA之上,实现了高效的分页。https:/persistence.blazebit.comdocumentationcoremanualen_USindex.html#pagination。

© www.soinside.com 2019 - 2024. All rights reserved.