我使用ORM框架已有一段时间了,但是我对Hibernate还是很陌生。

假设您有一个查询(是查询还是条件,无关紧要),该查询检索了一个很好的结果集,但您希望通过它进行分页。您宁愿使用setMaxResult()和setFirstResult()方法组合还是ScrollableResult?

关于性能(执行时间和内存消耗)的最佳方法是哪种?

最佳答案

如果要实现一个在单独的请求-响应周期中提供单独结果页面的Web应用程序,则无法利用ScrollableResult发挥任何优势。使用setFirst / Max / Result。但是,这可能是真正的性能杀手,这取决于确切的查询和结果的总大小。特别是如果可怜的数据库每次必须对整个结果集进行排序,以便可以计算出第100-110条记录。

09-27 20:33