gpt4 book ai didi

java - getSingleResult() 改变 count() 查询

转载 作者:行者123 更新时间:2023-11-30 07:31:34 25 4
gpt4 key购买 nike

我的应用程序使用 Hibernate 连接到 SQL Server。我最近更改了我的 DAO 函数,该函数从一个表中检索计数,从“return query.getResultList().get(0)”到“query.getSingleResult()”。 sql count() 查询是通过 namedQuery 提供的。

当我进行此更改时,我注意到 Hibernate 生成的 SQL 现在已从选择计数(test0_.TestId)作为.....到选择前 2 个计数(test0_.TestId)作为...

为什么 Hibernate 会转换为 getSingleResult() 的前 2 而不是前 1?有没有办法关闭 Hibernate 修改我的 count() 查询以使用前 2 个?

谢谢

最佳答案

Why would Hibernate translate to top 2 and not top 1 for getSingleResult()?

Hibernate 选择 2 个条目以检查是否只有一个或多个。如果返回 2,它将抛出异常,因为结果不是唯一的。如果使用 top 1,Hibernate 将无法判断是否还有更多。

关于java - getSingleResult() 改变 count() 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7258732/

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