我尝试使用Restrictions.ne("status","ERROR")按条件获得一个列表,但是方法返回列表时没有status is null所在的实体。
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();
}发布于 2015-08-31 15:35:55
包含显式空检查:
criteria.add(Restrictions.or(
Restrictions.ne("status","ERROR"),
Restrictions.isNull("status"))
);关键是,大多数数据库使用null参数对false进行比较运算,这意味着status = null和status <> null都被认为是false。
发布于 2015-08-31 14:58:18
标准写得很好,应该行得通。
您是否尝试删除日期筛选器,以查看它是否是筛选"status=null“?
https://stackoverflow.com/questions/32314098
复制相似问题