java吧 关注:1,298,434贴子:12,835,261
  • 2回复贴,共1

新手关于hibernate的问题 高手进来指导下

只看楼主收藏回复

SSH框架下DAO中有此方法
public List findbyDdwnameChance(String ddwname,String dspname,String qsrq,String zzrq){
         Session session = this.getSession();
         String hql = "SELECT distinct pf_ckmx.RIQI,DOCDSP.DSPNAME,DOCDSP.DSPSPGG,DOCDSP.JLDW AS DANWEI," +
                 "pf_ckmx.picih,pf_ckmx.SHUL,DOCDDW.DDWNAME,DOCDSP.SHENGCCJ,pf_ckmx.SXRQ,H.ddwname " +
                 "FROM pf_ckmx JOIN DOCDDW ON pf_ckmx.DDWID=DOCDDW.DDWID " +
                 "JOIN DOCDSP ON pf_ckmx.DSPID=DOCDSP.DSPID " +
                 "LEFT JOIN JH_DHMX ON pf_ckmx.DSPID=JH_DHMX.DSPID and JH_DHMX.picih=pf_ckmx.picih " +
                 "LEFT JOIN DOCDDW H ON h.DDWID=JH_DHMX.DDWID WHERE H.ddwname ='" + ddwname + "' ";
         if(dspname != null || "".equals(dspname)){
             hql += "and DOCDSP.dspname like '%" + dspname + "%' ";
         }
         if(qsrq != null || "".equals(qsrq)){
             hql += "and pf_ckmx.RIQI >= '" + qsrq + "' ";
         }
         if(zzrq != null || "".equals(zzrq)){
             hql += "and pf_ckmx.RIQI <= '" + zzrq + "' ";
         }
         Query query = session.createQuery(hql);
         List list = query.list();
         session.close();
         return list;
     }
每当执行到 List list = query.list();地方的时候就会报错
严重: Servlet.service() for servlet action threw exception
line 1:188: unexpected token: ON
     at org.hibernate.hql.antlr.HqlBaseParser.fromJoin(HqlBaseParser.java:1351)
     at org.hibernate.hql.antlr.HqlBaseParser.fromClause(HqlBaseParser.java:1053)
     at org.hibernate.hql.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:759)
     at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:611)
     at org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:263)
     at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:150)



1楼2010-05-26 16:47回复
         at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:209)
         at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:127)
         at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
         at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:427)
         at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
         at org.hibernate.impl.SessionImpl.list(SessionImpl.java:834)
         at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
         at com.rjyy.ssh.dao.PfCkmxDAO.findbyDdwnameChance(PfCkmxDAO.java:462)
         at com.rjyy.ssh.biz.PfCkmxBIZ.findbyDdwnameChance(PfCkmxBIZ.java:40)
         at com.yourcompany.struts.action.SupplierAction.doflow(SupplierAction.java:77)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
         at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
         at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at com.rjyy.ssh.filter.CharsetFilter.doFilter(CharsetFilter.java:35)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
         at java.lang.Thread.run(Unknown Source)
    在网上实在是没找到关于这个错误的东西,希望高手帮忙看一下 顺便指导一下
    不胜感激!!!
    


    2楼2010-05-26 16:47
    回复
      2026-03-01 12:56:00
      广告
      不感兴趣
      开通SVIP免广告
      • 116.226.141.*
      可能hql写错了 配置文件里show_sql=true 看看生成 语句是啥
      还有多表链接集合要填充,你这样写取不到其他子集的值全是object


      3楼2010-05-26 17:56
      回复