一看这个语句,我觉得这样写sql语句太复杂了where条件后有子查询,有distinct关键字,而且还用了那么多的函数,所以会很慢;
建议你用关联查询代替where后面的子查询,
建议你用关联查询代替where后面的子查询,
解决方案 »
- 模糊查询
- Hibernate 初级配置 问题
- 当ORACLE与SQLSERVER2005中存在一个结构完全相同的表,在JAVA中如何实现当更新sqlserver2005中的表时同时也更新ORACLE中的表,请各位大侠们帮忙!
- (100分)求教Spring+Hibernate的问题
- 用sprint发邮件验证失败问题
- struts 问题急(html:text, 在线)
- 如何察看我的计算机的正在打开的端口?
- 求救高手structs:这是什么错误?
- 苦恼啊,老是这样
- Intellij IDEA 创建form窗口时报错
- 各位大哥帮帮忙啊!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("","");
我还是赞同上面这位兄弟的看法!你不防试试.