sql= "select ph from(select a.ph,a.jshj,a.ZLHJ ,b.JSHJ as JSHJ9,b.ZLHJ as ZLHJ9,b.TJHJ as TJHJ9,b.YFHJ as YFHJ9,b.YSHJ as YSHJ9, b.yishj as yishj9, b.HDFF as HDFF9, b.HZFF as HZFF9, b.DSHK as DSHK9, b.DFHK as DFHK9, b.DFYF as DFYF9, b.BXJE as BXJE9, b.BXF as BXF9, b.SHF as SHF9, b.QTDF as QTDF9,b.THF as THF9  from (from MbLog where bj='已发未改') a left join ( from MbLog where bj='已发删除' ) b on a.PH=b.PH)";

解决方案 »

  1.   

    HQL对复杂的查询处理得不很好,对于这样的查询建议用原始的sql语句
      

  2.   

    这个你把改大写的大写上~~~该用对象的换上对象、!!!
       如果不行、就CreateSqlQuery这样!!!
      

  3.   

    CreateSqlQuery是什么功能啊?LZ给解释具体一点呗!我是菜鸟啊  嘿嘿
      

  4.   

    session.CreateSqlQuery()表示使用的是原生SQL。这是Hibernate源码里的方法。楼主最好还是用原生SQL。必经HQL有限制的。必须是已映射的对象。
      

  5.   

    还是用原生SQL吧,如果非要用hql,分开查