使用 group by 子句执行 HQL 时出错
我正在使用以下 HQL 查询:
List<Object> object = session.createQuery("select userId, count(*) from Tweet " +
"group by userId", Object.class).getResultList();
It's causing the following error:
由以下原因引起:org.hibernate.query.QueryTypeMismatchException:查询 结果类型错误 - 多项选择:使用元组或数组 org.hibernate.query.sqm.internal.QuerySqmImpl.checkQueryReturnType(QuerySqmImpl.java:367) 在 org.hibernate.query.sqm.internal.QuerySqmImpl.visitQueryReturnType(QuerySqmImpl.java:328) 在 org.hibernate.query.sqm.internal.QuerySqmImpl。(QuerySqmImpl.java:227) 在 org.hibernate.internal.AbstractShare
这可能是什么原因? 是因为我在其中选择了特定列吗?
I am using the following HQL query:
List<Object> object = session.createQuery("select userId, count(*) from Tweet " +
"group by userId", Object.class).getResultList();
It's causing the following error:
Caused by: org.hibernate.query.QueryTypeMismatchException: Query
result-type error - multiple selections: use Tuple or array at
org.hibernate.query.sqm.internal.QuerySqmImpl.checkQueryReturnType(QuerySqmImpl.java:367)
at
org.hibernate.query.sqm.internal.QuerySqmImpl.visitQueryReturnType(QuerySqmImpl.java:328)
at
org.hibernate.query.sqm.internal.QuerySqmImpl.(QuerySqmImpl.java:227)
at org.hibernate.internal.AbstractShare
what could be the reason for this?
Is it because I am selecting specific columns in it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的 select 子句返回两个内容,因此该方法的类型签名应为
List
。使用此版本:但请注意,您还可以定义与 select 子句匹配的实体。然后,您可以避免麻烦的
Object[]
结果集类型。Your select clause is returning two things, therefore the type signature of the method should be
List<Object[]>
. Use this version:But note that you could also define an entity which matches the select clause. Then, you could avoid the cumbersome
Object[]
result set type.