Ily*_*lya 4 java sql hibernate count
可能重复:
我们如何使用Hibernate计算行数?
我想按数据库中的条件计算记录数.
我尝试使用下一个查询
String queryString = "SELECT Count(*) FROM my_table";
Query query = entityManager.createNativeQuery(queryString);
Run Code Online (Sandbox Code Playgroud)
但没有方法可以执行此操作Query query并获得结果.
我知道,我可以使用记录来计算记录
String queryString = "SELECT * FROM my_table";
Query query = entityManager.createNativeQuery(queryString);
query.getResultList().size();
Run Code Online (Sandbox Code Playgroud)
所以问题,是查询具有Count(*)更多性能,如果yes,那么如何执行查询Count(*)?
您可以通过调用来执行您的第一个查询Query.getSingleResult(),例如.
String queryString = "SELECT Count(*) FROM my_table";
Query query = entityManager.createNativeQuery(queryString);
System.out.println(query.getSingleResult());
Run Code Online (Sandbox Code Playgroud)
如果要将计数分配给变量,则需要将其转换为正确的类型(它可能取决于数据库,但很可能取决于数据库).第二个查询非常低效,因为Hibernate需要从DB检索整个表,分析它然后计算所有行.
| 归档时间: |
|
| 查看次数: |
16075 次 |
| 最近记录: |