2016-07-27 22 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 

Zeile 1, Spalte 48 falsch ist: Syntaxfehler bei [=]. Interne Ausnahme: MismatchedTokenException (! 80 = 82)Was ist mit diesem JPQL Query-String

Jede Idee, was der Fehler sein könnte? Ich habe keine Ideen.

Also stackoverflow will mich erklären, warum meine Frage unterscheidet sich von einem möglichen Duplikat. Um hoest zu sein, werde ich von dieser Seite müde. Das ist es nicht, und wenn ich das jedes Mal erklären muss, wenn jemand denkt, ich müsste etwas erklären, suche ich woanders nach Hilfe. Meine Güte.

+2

Leute, die Sie sich vorstellen müssen, die ersten 6 Zeilen sind 1. Das ist, wie ich sie ursprünglich bekanntgab. Dann wurden sie bearbeitet. – noneconnex

+2

Zeigen Sie uns den Code der Entität –

+1

Versuchen Sie, die NULL von Ihrem IN (NULL, ...) zu entfernen, da Sie bereits darauf testen – farrellmr

Antwort

2

Ich werde eine Antwort hinterlassen, so dass die Frage geschlossen werden kann - war die Frage der NULL in der -

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

Sie die COALESCE Funktion ähnlich NVAL können

Shame Ihre Frage bearbeitet wurde und dann erklären müssen, warum ein Duplikat falsch war