看看这个 hql 错在哪儿?

小灰狼 2020-11-19 05:36:55
SELECT
o
FROM
(
SELECT
max( c.inspectVerifyLogId ) AS logId,
c.shopId
FROM
org.wolfgroup.inspect.rubbish.entity.InspectVerifyLog c
WHERE
c.shopId IN : shopIds
AND c.inspectVerifyId IS NULL
GROUP BY
c.shopId
) t1
LEFT JOIN org.wolfgroup.inspect.rubbish.entity.InspectVerifyLog o ON t1.logId = o.inspectVerifyLogId

错误提示是
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: ( near line 1, column 17 [ select o from (select max(c.inspectVerifyLogId) as logId, c.shopId from org.wolfgroup.inspect.rubbish.entity.InspectVerifyLog c where c.shopId in :shopIds and c.inspectVerifyId is null group by c.shopId) t1 left join org.wolfgroup.inspect.rubbish.entity.InspectVerifyLog o on t1.logId = o.inspectVerifyLogId]
...全文
3361 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
老王就是我 2020-11-23
  • 打赏
  • 举报
回复
引用 10 楼 小灰狼 的回复:
[quote=引用 9 楼 老王就是我 的回复:][quote=引用 8 楼 老王就是我 的回复:]核对下实体类的包名、对象名是否正确
我基本用sql,hql与sql并无语法上的区别,但hql不能在数据库连接工具上测试,而我一般是连接工具测试通过后才写进代码里面[/quote] 我也比较喜欢直接写 sql 但项目要求适应不同数据库,尽量用 hql 你说 hql 和sql 没有语法上的区别,但是我写 sql 时没问题,但转换成 hql 时经常有莫名其妙的不支持[/quote] 你这不是不支持,而是字段名或者表名错误,查看下实体类的映射是否有错误
小灰狼 2020-11-23
  • 打赏
  • 举报
回复
引用 9 楼 老王就是我 的回复:
[quote=引用 8 楼 老王就是我 的回复:]核对下实体类的包名、对象名是否正确
我基本用sql,hql与sql并无语法上的区别,但hql不能在数据库连接工具上测试,而我一般是连接工具测试通过后才写进代码里面[/quote] 我也比较喜欢直接写 sql 但项目要求适应不同数据库,尽量用 hql 你说 hql 和sql 没有语法上的区别,但是我写 sql 时没问题,但转换成 hql 时经常有莫名其妙的不支持
神话jsh 2020-11-20
  • 打赏
  • 举报
回复
hql的大小写需要注意
qkniit 2020-11-20
  • 打赏
  • 举报
回复
核对 实体 大小写
小灰狼 2020-11-20
  • 打赏
  • 举报
回复
居然没有人? 自己顶一下!
老王就是我 2020-11-20
  • 打赏
  • 举报
回复
引用 8 楼 老王就是我 的回复:
核对下实体类的包名、对象名是否正确
我基本用sql,hql与sql并无语法上的区别,但hql不能在数据库连接工具上测试,而我一般是连接工具测试通过后才写进代码里面
老王就是我 2020-11-20
  • 打赏
  • 举报
回复
核对下实体类的包名、对象名是否正确
nono5200 2020-11-20
  • 打赏
  • 举报
回复
[quote=引用 6 楼 小灰狼 的回复:]改用 sql 算了
小灰狼 2020-11-20
  • 打赏
  • 举报
回复
改用 sql 算了,用的SQL标准写法,也不用担心跨数据库问题
Benzi啊 2020-11-20
  • 打赏
  • 举报
回复
select o.*呢,一个o应该查不到东西的吧...或者o.你需要查的实体
小灰狼 2020-11-20
  • 打赏
  • 举报
回复
大小写绝对没问题 反复比对 很多次了

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧