gpt4 book ai didi

Hibernate HQL 在别名排序方面失败

转载 作者:行者123 更新时间:2023-12-02 17:52:48 24 4
gpt4 key购买 nike

我在 hql 中有这个查询:

select sum(settledPricePerDownloadExpense),avg(settledPricePerDownloadExpense),sum(siteIdCount) as ct,sum(settledPricePerDownloadExpense) 
from PpdCampaignReporting where id.ppdCampaignReportDate between 'Wed May 11 00:00:00 EDT 2011' and 'Thu May 12 23:59:59 EDT 2011' And id.ppdCampaignActionTypeId in (1, 2, 3) And id.ppdCampaign.ppdCampaignId in (62,63,82,83,84,95,97)
group by id.ppdCampaignActionTypeId,id.siteId order by ct

我返回的错误是这样的:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 'ct'.

我不明白,因为我有 sum(siteIdCount) 作为 ct

最佳答案

按 select 子句中定义的别名排序是 Hibernate 中的一个已知错误。它已在 3.6.x 分支中修复,因此请确保您使用的是最新的生产版本。

但请注意,3.5 及更早版本中存在不兼容的更改(处理用户类型和 lob 是两个主要领域),因此升级时需要小心。

或者,您可以使用“order by 1”(如果您的 RDBMS 支持它;我不确定 SQL Server 是否支持)或按 表达式 排序(例如 order by sum( siteIdCount) 在你的情况下)。

附注按别名分组仍然损坏。

关于Hibernate HQL 在别名排序方面失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5993943/

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