首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择max时Hibernate中的翻译问题(Column_name)

选择max时Hibernate中的翻译问题(Column_name)
EN

Stack Overflow用户
提问于 2022-06-21 17:13:11
回答 1查看 41关注 0票数 0

我有一个数据库表Cars,每一行代表不同的汽车模型,有不同的id,品牌,model_name和数量。我想用Hibernate编写一个查询,按品牌获取最受欢迎的汽车数量,例如DB 5大众Polo,3大众Ti官,4 Skoda Octavia,8 Skoda Rapid,我想得到一个结果: Volkswagen :5 Skoda :8

这是我的疑问:

代码语言:javascript
复制
@Query(value = "SELECT brand, MAX(amount) FROM cars GROUP BY brand ORDER BY amount DESC", nativeQuery = true)
List<Car> getAmountOfMostPopularCarsByBrand();

接口车是这样的:

代码语言:javascript
复制
interface Car {
    String getBrand();
    Long getAmount();
}

该查询在IntelliJ中运行良好,它会带来预期的结果,但是当我尝试在应用程序中使用它时:

代码语言:javascript
复制
List<Car> cars = getAmountOfMostPopularCarsByBrand()

我得到了有好的“品牌”字段的对象列表,但是对于空的“mapped”字段,它只是没有得到正确的映射(翻译)。知道怎么修吗?

EN

回答 1

Stack Overflow用户

发布于 2022-06-21 18:01:39

我认为您需要为MAX(amount)使用别名

代码语言:javascript
复制
@Query(value = "SELECT brand, MAX(amount) as amount FROM cars GROUP BY brand ORDER BY amount DESC", nativeQuery = true)

我认为转换器在查询结果中查找与类中属性的名称匹配的标题。

您的查询将返回头部brand | MAX(amount)的结果,我的查询将有正确的结果:brand | amount

除此之外,这两个查询是相同的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72704697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档