gad*_*ads 20 hibernate jpa subquery
我们使用JPA和hibernate作为提供程序,我们在FROM子句中有一个包含子查询的连接的查询,但是我们收到以下错误:
org.hibernate.hql.ast.QuerySyntaxException:意外令牌:(靠近第1行,第75列[SELECT sd FROM com.hp.amber.datamodel.entities.analysis.SnapshotDates sd,(SELECT 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(: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]
这是查询:
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
谢谢你的帮忙
dis*_*ake 26
我不认为HQL可以在from子句中执行子查询
https://docs.jboss.org/hibernate/orm/4.3/manual/en-US/html/ch16.html#queryhql-subqueries
注意这句话:
请注意,HQL子查询只能出现在select或where子句中.
我想你可以把它改成原生查询并以那种方式执行.
| 归档时间: | 
 | 
| 查看次数: | 45205 次 | 
| 最近记录: |