情况大约如下:
(下面的代码是我随手写的,可能有小偏差)
① hql为 "from User1 as u where u.sex = :sex and u.dep in (:deps)"
② 查询语言为
// Session session; session对象已获得
// MyBean bean; MyBean有String .getSex()和String[] .getDeps()方法,
Query query = session.createSql(hql);
query.setProperties(bean);
query.list();
问题发生在,当bean的两个get方法返回的是null时候,
① 如果是getSex()方法返回null,则查不到任何东西;
② 如果是getDeps()返回null,则产生错误,
问题,就是hql query在执行时候,不能自行判断null参数,以消除无效的条件片断
有一个笨的办法可以解决这个问题,就是hql拼接的时候,同时判断参数的情况,但是这个办法肯定需要浪费时间.
各位,请帮忙.
(下面的代码是我随手写的,可能有小偏差)
① hql为 "from User1 as u where u.sex = :sex and u.dep in (:deps)"
② 查询语言为
// Session session; session对象已获得
// MyBean bean; MyBean有String .getSex()和String[] .getDeps()方法,
Query query = session.createSql(hql);
query.setProperties(bean);
query.list();
问题发生在,当bean的两个get方法返回的是null时候,
① 如果是getSex()方法返回null,则查不到任何东西;
② 如果是getDeps()返回null,则产生错误,
问题,就是hql query在执行时候,不能自行判断null参数,以消除无效的条件片断
有一个笨的办法可以解决这个问题,就是hql拼接的时候,同时判断参数的情况,但是这个办法肯定需要浪费时间.
各位,请帮忙.
本文探讨了使用HQL进行数据库查询时如何正确处理参数为null的情况,并提出了在拼接HQL字符串时需考虑参数值的有效性的建议。
1423

被折叠的 条评论
为什么被折叠?



