休眠查询返回空值

时间:2018-09-27 09:16:25

标签: hibernate

我正在使用Hibernate / JPA运行下面的查询,当我向查询中传递空值时,我期望下表中的第3行能够返回。 EXPOSURE_TYPE和MESSAGE_FORMAT都定义为字符串:

MESSAGE_FORMAT      EXPOSURE_TYPE
XSD.001.001.01      1       
XSD.001.001.01      2
XSD.001.001.01      null        <====expecting this to get returned when i set the value to null

我的查询

Query q = em.createQuery("SELECT m FROM Message m WHERE m.messageFormat = :messageFormat AND m.exposureType = :exposureType");
q.setParameter("messageFormat", messageFormat);
q.setParameter("exposureType", exposureType);
try
{
    message = (Message) q.getSingleResult();

}
catch(NoResultException nre){
    //some logging
}
catch(Exception ex){
    //some logging
}
return message;

1 个答案:

答案 0 :(得分:1)

不可能查询= null,而必须使用null。

因此,如果要查找为null的EXPOSURE_TYPE,则查询必须类似于:

EXPOSURE_TYPE is null

-

在此处阅读有关该主题的更多信息。 what is "=null" and " IS NULL"