休眠查询返回空值



我正在使用 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;

无法查询 = null 您必须使用是 null。

因此,如果要查找 null EXPOSURE_TYPE,查询必须如下所示:

EXPOSURE_TYPE is null

-

在此处阅读有关该主题的更多信息。 什么是"=空"和"为空">

最新更新