首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Restriction.ne不包括空实体

Java Restriction.ne不包括空实体
EN

Stack Overflow用户
提问于 2015-08-31 14:52:09
回答 2查看 1.9K关注 0票数 3

我尝试使用Restrictions.ne("status","ERROR")按条件获得一个列表,但是方法返回列表时没有status is null所在的实体。

代码语言:javascript
复制
public List<Match_soccer> getDayMatches(Date day){
    //Match_soccer where date between start and end dates and status != null
    Criteria criteria = session.createCriteria(Match_soccer.class);
    criteria.add(Restrictions.between("start", day, DateJobs.addnHours(DateJobs.nextDay(day), 3)));
    criteria.add(Restrictions.ne("status","ERROR"));
    return criteria.list();
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-31 15:35:55

包含显式空检查:

代码语言:javascript
复制
criteria.add(Restrictions.or(
   Restrictions.ne("status","ERROR"),
   Restrictions.isNull("status"))
);

关键是,大多数数据库使用null参数对false进行比较运算,这意味着status = nullstatus <> null都被认为是false

票数 8
EN

Stack Overflow用户

发布于 2015-08-31 14:58:18

标准写得很好,应该行得通。

您是否尝试删除日期筛选器,以查看它是否是筛选"status=null“?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32314098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档