java在计算实体时限制查询结果
我想数一数Employees
的数量,但我只想知道是否有50个或更多Employees
。如果我执行Count
-操作(见下文),并将Range
设置为0->;51,该查询将只计算到51,还是仍将计算所有Employees
?我想知道这一点,这样每次运行查询时,查询不会将1000名员工全部计算在内(这对性能不利)
Query query = pm.newQuery("SELECT count(p) FROM Employees p");
query.setRange(0, 51);
long count = (long) query.execute();
if(count >= skipThreshold)
{
acceptedEmployees.add(mode);
}
谢谢!
# 1 楼答案
如果执行
SELECT count(p) FROM Employees p
,则将返回一行和一个值。。。伯爵,因为你要伯爵。范围在那个查询中是没有意义的。当查询返回多行(对象)时,可以使用range# 2 楼答案
了解您至少有50名员工的最佳方法是使用以下查询/计数语句
快乐编码