2016-04-25 52 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