一看这个语句,我觉得这样写sql语句太复杂了where条件后有子查询,有distinct关键字,而且还用了那么多的函数,所以会很慢;
建议你用关联查询代替where后面的子查询,
建议你用关联查询代替where后面的子查询,
解决方案 »
- 马士兵的在线聊天项目的问题
- 新手。希望有人回答,先行谢过
- JAVA 过滤正确字符串中的乱码
- hibernate中的Join的问题。
- AJAX中文乱码(prototype.js)
- JAVA中关于JDBC与SQL2000数据库连接问题
- strut中如何取得多条页面中的多条记录,例如多选框
- 看过《精通Struts》这本书的近来看看
- 关于Java Web Start,知道的请指教
- ejb-ql中string模糊查询问题,请教高手!
- 各位大哥帮帮忙啊!Struts问题:org.apache.jasper.JasperException: Cannot retrieve mapping for action /sign
- jsp运行问题
一般Hibernate会把相关的关系影射好,所以一般不用在将相关的关系列出
看了就有很大的问题
SELECT DISTINCT bt.userId from Systembooks br,Bookrealtime bt where bt.userId!=null and br.id=bt.bookId and ((bt.dotTime!=null and TO_DAYS(NOW())-TO_DAYS(bt.dotTime) <=7) or (bt.starTime!=null and TO_DAYS(NOW())-TO_DAYS(bt.starTime) <=7) or (bt.stowTime!=null and TO_DAYS(NOW())-TO_DAYS(bt.stowTime) <=7) or (bt.downTime!=null and TO_DAYS(NOW())-TO_DAYS(bt.downTime) <=7)) order by bt.id desc
要好好改改可以通过执行多个Hiberbate语句,如果不行的话,比如可以将某个子查询的结果存在List中,然后使用 hibernate queryObj.setParamterList("","");
我还是赞同上面这位兄弟的看法!你不防试试.