这个JPQL查询字符串有什么问题

时间:2016-07-27 10:44:56

标签: java jpa jpql

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)

知道错误是什么?!我没有想法。

所以stackoverflow要我解释为什么我的问题与可能的重复不同。为了最好,我厌倦了这个网站。事实并非如此,如果每当有人认为我必须解释某些事情时我必须解释这一点,我会在其他地方寻求帮助。吉兹。

1 个答案:

答案 0 :(得分:2)

我会发一个答案,以便可以关闭问题 - 问题是 -

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

您可以使用类似于NVAL的COALESCE功能

羞辱你的问题被编辑,然后必须解释复制错误的原因