【发布时间】:2011-11-08 07:12:39
【问题描述】:
我们使用 JPA 和 hibernate 作为提供者, 我们有一个查询,它在 FROM 子句中包含一个带有子查询的连接,但我们收到以下错误:
org.hibernate.hql.ast.QuerySyntaxException:意外令牌:(附近 第 1 行,第 75 列 [SELECT sd FROM com.hp.amber.datamodel.entities.analysis.SnapshotDates sd,(选择 max(x.changeDate) maxChangeDate, x.viewId, x.state FROM com.hp.amber.datamodel.entities.analysis.SnapshotDates x WHERE x.changeDate<:date and x.viewid in x.state=":state" group sd2 sd.viewid="sd2.viewId" sd.state=":state" sd.changedate="sd2.maxChangeDate]</p">
这是查询:
SELECT sd
FROM SnapshotDates sd,
(SELECT max(x.changeDate) maxChangeDate, x.viewId, x.state
FROM SnapshotDates x
WHERE x.changeDate<:date AND x.viewId in (:viewIds) AND x.state=:state
GROUP BY x.viewId, x.state) sd2
WHERE sd.viewId = sd2.viewId
AND sd.state = :state
AND sd.changeDate = sd2.maxChangeDate
感谢您的帮助
【问题讨论】:
-
jpa 不支持“FROM”和“SELECT”子句中的子查询,您必须更改查询并将子查询放在“WHERE”子句中。