gpt4 book ai didi

java - hibernate native 查询,计数

转载 作者:行者123 更新时间:2023-12-04 23:05:41 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




8年前关闭。




Possible Duplicate:
How do we count rows using Hibernate?



我想按数据库中的条件计算记录数。
我尝试使用下一个查询
String queryString = "SELECT Count(*) FROM my_table";  
Query query = entityManager.createNativeQuery(queryString);

但是没有办法执行这个 Query query并得到结果。
我知道,我可以使用
String queryString = "SELECT * FROM my_table";  
Query query = entityManager.createNativeQuery(queryString);
query.getResultList().size();

所以问题,是查询 Count(*)更多性能,如果 yes ,那么我如何使用 Count(*) 执行查询?

最佳答案

您可以通过调用 Query.getSingleResult() 来执行您的第一个查询。 ,例如。

String queryString = "SELECT Count(*) FROM my_table";  
Query query = entityManager.createNativeQuery(queryString);
System.out.println(query.getSingleResult());

如果要将计数分配给变量,则需要将其强制转换为正确的类型(它可能取决于 DB,但很可能是 Long)。
第二个查询效率很低,因为 Hibernate 需要从 DB 中检索整个表,对其进行分析,然后对所有行进行计数。

关于java - hibernate native 查询,计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13049137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com