2016-07-27 36 views
2
SELECT m FROM Clientmessage m 
WHERE (((m.userid = 4) OR (m.recipientid = 4)) 
AND (m.isdeleted = false) 
AND ((m.currentstate IS NULL) 
OR (m.currentstate IN (NULL, 'CREATED', 'DELIVERED')))) 
order by m.timereceived 

第1行第48列:語法錯誤在[=]。內部例外: MismatchedTokenException(80!= 82)此JPQL查詢字符串有什麼問題

任何想法錯誤可能是什麼?我沒有想法。

所以stackoverflow希望我解釋爲什麼我的問題不同於可能的重複。成爲hoenst我厭倦了這個網站。這不是,如果每次有人認爲我必須解釋某件事情時我必須解釋這一點,我會在其他地方尋求幫助。吉茲。

+2

你想象的人前6行是1.這就是我最初如何張貼他們。然後他們被編輯。 – noneconnex

+2

向我們展示實體的代碼 –

+1

嘗試從您的IN(NULL,...)中刪除NULL,因爲您已經測試過它 – farrellmr

回答

2

我會後回答這樣的問題,可以關閉 - 這個問題是在空 -

m.currentstate IN (NULL, 'CREATED', 'DELIVERED') 

您可以使用類似於NVAL聚結功能

恥辱你的問題得到了修改,然後不得不解釋爲什麼重複是錯誤的