关于JPA中SELECT子句别名问题

您所在的位置:网站首页 jpa聚合函数查询 关于JPA中SELECT子句别名问题

关于JPA中SELECT子句别名问题

2023-09-10 03:41| 来源: 网络整理| 查看: 265

关于JPA中SELECT子句别名问题 原创

种瓜得豆 2011-09-30 14:33:21 ©著作权

文章标签 职场 休闲 SELECT JPA 子句别名 文章分类 Java 后端开发

©著作权归作者所有:来自51CTO博客作者种瓜得豆的原创作品,谢绝转载,否则将追究法律责任

通常在编写JPA规范的查询脚本时,在SELECT子句中,每一个返回项都可以为其指定一个别名,尤其是对于聚合函数,如下所示: SELECT COUNT(app) count1,app.age FROM App app GROUP BY app.age HAVING count1> 10 其中count1就是用于代表COUNT(app)的别名,使用别名的方式,可以方便在Having子句中引用聚合函数COUNT(app)。 但JPA规范规定,仅仅允许第一层的返回项存在别名,若使用类似于对象创建的方式返回数据,则在其中嵌套的任何返回项都不允许存在别名,如下所示: 错误的写法: SELECT NEW template.ResultApp(COUNT(app) count1,app.age) FROM App app GROUP BY app.age HAVING count1 > 10 正确写法: SELECT NEW template.ResultApp(COUNT(app),app.age) FROM App app GROUP BY app.age HAVING COUNT(app) > 10

打赏 收藏 评论 分享 举报

上一篇:在EJB中创建对象

下一篇:狮子教你做管理



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3