2012-04-24 16 views
2

SQL语句:如何选择条件等于null的地方。

select * FROM Message 
WHERE senderId = 126 and receiverId = 125 
    and dateReceived is null 

HQL语句:

FROM Message 
WHERE senderId = :senderId and receiverId = :receiverId 
and dateReceived is null 

我得到了错误。那么如何编写HQL来获得与上面的sql语句相同的结果呢?

+0

你会得到什么错误?跟踪应该给你答案。 – sp00m 2012-04-24 08:07:25

+0

请提供更多的上下文。也许这个错误会有所帮助? – 2012-04-24 08:08:30

回答

2

是senderId和receiverId外键吗? 如果是的话,假设senderId是发件人表中的列和receiverId是接收器表试试这个一列:

select msg FROM Message msg 
WHERE msg.Sender.senderId = 126 and msg.Receiver.receiverId = 125 
    and msg.dateReceived is null 

OR

Select msg FROM Message msg 
WHERE msg.senderId = :senderId and msg.receiverId = :receiverId 
and msg.dateReceived is null 
0

我已经

解决它

HQL查询: FROM消息 WHERE senderId =:senderId和receiverId =:receiverId and dateReceived = null