【发布时间】:2017-03-07 23:08:13
【问题描述】:
我有一个 Criteria 对象,用于获取通用列表。但在特定情况下,我想使用相同的 Criteria 对象来仅了解返回的行数。
我的问题是我是否使用:
Integer count = criteria.list().size();
与以下内容相同:
criteria.setProjection(Projections.rowCount());
Integet count = (Integer)criteria.uniqueResult()
【问题讨论】:
-
在您真正注意到您的代码运行缓慢之前,尽量不要担心性能问题。大多数时候,像这样的小事情并不重要,您需要修复的事情无论如何都会出现在您没想到的地方。
-
大部分同意@nhouser9,但如果可行,这是您应该使用内置计数方法的一个领域。这是一个可读性很强的优化,它在服务器端折叠数据。
标签: java sql hibernate criteria