休眠:如何使用 HQL 设置 NULL 查询参数值?
如何将休眠参数设置为“null”?例:
Query query = getSession().createQuery("from CountryDTO c where c.status = :status and c.type =:type")
.setParameter("status", status, Hibernate.STRING)
.setParameter("type", type, Hibernate.STRING);
在我的情况下,状态字符串可以为 null。我已经调试了这个,然后休眠,然后生成一个像这样的SQL字符串/查询.......然而,这在MYSQL中不起作用,因为正确的SQL语句必须是“”(Mysql不理解status=null并将其计算为false,以便根据我读过的mysql文档,不会为查询返回任何记录...)status = null
status is null
我的问题:
为什么不将空字符串正确转换为“is null”(而是错误地创建“=null”)?
Hibernate
重写此查询以使其对 null 安全的最佳方法是什么?使用nullsafe,我的意思是在“状态”字符串为空的情况下,它应该创建一个“是空”?