我用hibernate中的hql语句写了一个条件查询,但是不能正常执行,请帮忙看一下

2024-11-30 02:43:51
推荐回答(4个)
回答1:

你报的错误是啥?很直观的看你的代码,在所有的and之前都没有空格,所以拼出来的HQL是有问题的,你的代码还有几个问题
1,最好用StringBuilder或者StringBuffered
2,最好不要用where 1=1这样查询效率最低。
如果你想了解更多的Hibernate查询或者HQL的东西,看我的个人简介里面的推荐资料。

回答2:

肯定执行不了了 都没有空格 输出的sql 不对

建议:写一个 test方法 传一个user 进来 看看你输出的 sql 是什么样子 然后根据你的sql 一项项的调
还有 你那些个 !=null, .trim().length()>0 你就不能抽一个方法出来 这样好难看的

回答3:

stringBuffer.append(" and education="+user.getEducation()); // and前,应该留一空格
如果查询的条件是字符串,应该加单引号。

——查询的条件,最好使用参数 。没你的环境,不太好测试。

回答4:

你的sql只是相加了 但是你看看你的sql 的查询条件 如果都有的话 你的查询条件前后都没有空格,会连起来的,所以无法分析