2016-04-25 55 views
1

我试图运行此JPQL请求,但出现此错误:表达式不是有效的条件表达式。该表达式不是有效的条件表达式

   "SELECT c " 
       + "FROM CoursJoursDeviseBb c " 
       + "WHERE codeDevise = :codedevise " 
       + "AND dateCours = (SELECT MAX(dateCours) FROM CoursJoursDeviseBb " 
       + "WHERE codeDevise = :codedevise) " 
+1

您忘记了您的子句之间有一些空白。 –

+0

我编辑的代码,仍然不起作用:/ –

+0

和异常的堆栈跟踪是... –

回答

0

he expression is not a valid conditional expression

感谢JB Nizet我们发现丢失的空间。

An identification variable must be provided for a range variable declaration

尝试限定您的表中的子查询,如

 + "AND dateCours = (SELECT MAX(dateCours) FROM CoursJoursDeviseBb c2 " 
      + " WHERE c2.codeDevise = :codedevise) "  

表的两个用途进行区分。

+0

完成,现在我有这个例外:[94,103]封装的表达式不是一个有效的表达式。 –

+0

看起来我也忘记了空间。现在修复 – hamilyon

+0

如果我的回答对您有帮助,请将其标记为已接受 – hamilyon