小编gad*_*ads的帖子

from子句中的JPA/hibernate子查询

我们使用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
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮忙

hibernate jpa subquery

20
推荐指数
1
解决办法
5万
查看次数

编译错误 - 使用枚举切换

可能重复:
为什么我不能在案例标签中获得枚举常量引用?

嗨,有人知道为什么当我切换Enum时,案例应该是不合格的Enum值吗?

例:

switch(var) {

case Enum.FIRST:

break;

}
Run Code Online (Sandbox Code Playgroud)

是非法的

但:

switch(var) {

case FIRST:

break;

}
Run Code Online (Sandbox Code Playgroud)

是合法的.

我知道var是特定类型(Enum),但是如果我使用Enum值的完全限定名称,编译器会关心它?

java compiler-construction enums

14
推荐指数
2
解决办法
6463
查看次数

标签 统计

compiler-construction ×1

enums ×1

hibernate ×1

java ×1

jpa ×1

subquery ×1