public List finddolist(final int first,final int size, final HdmainForm hf) {//first为上页,SIZE为传入的每页显示记录数 , hf是查询条件的集合
// TODO Auto-generated method stub
return  (List) super.getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session arg0)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
String sql = "SELECT COUNT(*) FROM Hdmain h WHERE 1=1 ";
System.out.println("finddolist 李斯特:"+hf.getHdCorporation()+" "+hf.getHdarticleId());
if(hf.getHdCorporation()!=null){
sql += "AND h.corporation.corporationName LIKE :cor ";
}
if(hf.getHdarticleId()!=null){
System.out.println(sql += "AND h.articleId.articleIdName LIKE :"+hf.getHdarticleId());
sql += "AND h.articleId.articleIdName LIKE :art ";
}
if(hf.getHdATA()!=null){
sql += "AND h.articleId.articleIdAta LIKE :ata";
}
System.out.println("这里?!"+sql);
List list = (List) arg0.createQuery(sql)
.setString("cor","%"+hf.getHdCorporation()+"%")
.setString("art","%"+hf.getHdarticleId()+"%")
.setString("ata","%"+hf.getHdATA()+"%")
.setFetchSize(first)
.setMaxResults(size)
.list();//这条语句报错,不能到后面的SYSO里
System.out.println("借宿");
return list;
}
});
}finddolist 李斯特:国航系统 jh:29 ata86500-109B
SELECT COUNT(*) FROM Hdmain h WHERE 1=1 AND h.corporation.corporationName LIKE :cor AND h.articleId.articleIdName LIKE :29
这里?!SELECT COUNT(*) FROM Hdmain h WHERE 1=1 AND h.corporation.corporationName LIKE :cor AND h.articleId.articleIdName LIKE :29AND h.articleId.articleIdName LIKE :art AND h.articleId.articleIdAta LIKE :ata
2009-9-4 8:43:18 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
org.hibernate.hql.ast.QuerySyntaxException: expecting IDENT, found '29' near line 1, column 137 [SELECT COUNT(*) FROM com.whhd.entity.Hdmain h WHERE 1=1 AND h.corporation.corporationName LIKE :cor AND h.articleId.articleIdName LIKE :29AND h.articleId.articleIdName LIKE :art AND h.articleId.articleIdAta LIKE :ata]
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:31)
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:24)
at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:59)
at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:258)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
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.springframework.orm.hibernate3.HibernateTemplate$CloseSuppressingInvocationHandler.invoke(HibernateTemplate.java:1202)
at $Proxy1.createQuery(Unknown Source)
at com.whhd.dao.HdmainDAO$8.doInHibernate(HdmainDAO.java:310)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:338)
at com.whhd.dao.HdmainDAO.finddolist(HdmainDAO.java:293)
at com.whhd.biz.HdmainImpl.finddolist(HdmainImpl.java:82)
at com.whhd.struts.action.MainAction.list(MainAction.java:141)
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.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
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.whhd.util.EncodingFilter.doFilter(EncodingFilter.java:23)
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)但是我后来发现from里 方式 是我系统数据里查询到的最后一条数据
String name  = hf.getHdCorporation();
String HdId = hf.getHdarticleId();
String ATA = hf.getHdATA();
List list =  hdmainBiz.findlistAll(name, HdId, ATA);

// pb.setCurrentList(hdmainBiz.query(pb.getFirst(), list.size(),hf));
HdmainForm newfrom = new HdmainForm();
for (int i = 0; i < list.size(); i++){
hd = (Hdmain) list.get(i);
newfrom.setHdarticleId(hd.getArticleId().getArticleIdName());
newfrom.setHdATA(hd.getArticleId().getArticleIdAta());
newfrom.setHdCorporation(hd.getCorporation().getCorporationName());
newfrom.setHdCycle(hd.getMainCycle());
newfrom.setHdDate(hd.getHddate().getDateData());
newfrom.setHdimmobilityOverhaul(hd.getMainImmobilityOverhaul());
newfrom.setHdimmobilityRepair(hd.getMainImmobilityRepair());
newfrom.setHdmanhourOverhaul(hd.getMainManhourOverhaul());
newfrom.setHdmanhourRepair(hd.getMainManhourRepair());
newfrom.setHdmanhourTest(hd.getMainManhourTest());
newfrom.setHdWarrantyTime(hd.getMainWarrantyTime());
}
pb.setAllRecord(hdmainBiz.findintdolist(name, HdId, ATA));
// pb.setAllRecord(hdmainBiz.count(hf));
pb.count(scp);
pb.setCurrentList(hdmainBiz.finddolist(pb.getFirst(),pb.getSize(), newfrom));