资源描述:
《java应用中两个问题解决方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、多表查询分页方法一:publicListgetUserlist(StringuserAccount,StringEmployeeFullName,intstartNum,intpagelength){inttotalResults;//总记录的条数Stringcondition="";if(!userAccount.equals("")&&!EmployeeFullName.equals("")){condition="andsysuser.susUseraccountlike'%"+userAccount+"%'oremployee.coe
2、Fullnamelike'%"+EmployeeFullName+"%'";}elseif(!EmployeeFullName.equals("")&&userAccount.equals("")){condition="andemployee.coeFullnamelike'%"+EmployeeFullName+"%'";}elseif(!userAccount.equals("")&&EmployeeFullName.equals("")){condition="andsysuser.susUseraccountlike'%"+userAc
3、count+"%'";}Stringhql="selectemployee.coeEmployeeid,employee.coeFullname,employee.coeSexuality,employee.coePictureurl,sysuser.susAccountid,sysuser.susUseraccount,sysuser.susForumUsersLevelfromSmcSystemusersysuser,HrmEmployeeemployeewheresysuser.susEmployeeid=employee.coeEmplo
4、yeeid"+condition+"orderbysysuser.susAccountid";System.out.println("hql:"+hql);Listres=newVector();//将用于存放保存的结果集合Sessionsession=null;ScrollableResultssrs=null;try{//得到一个HibernateSession//分页关键语句session=this.getSessionFactory().openSession();//下面创建一个匿名Query实例并调用它的scroll()方法返回以//
5、ScrollableResults形式组织的查询结果Queryquery=session.createQuery(hql);query.setFirstResult(startNum);query.setMaxResults(pagelength);srs=query.scroll();//将查询结果放入List保存inti=0;while(srs.next()){i++;res.add(newEmpUsrAccountBean(srs.getString(0),srs.getString(1),srs.getString(2),srs.getS
6、tring(3),srs.getString(4),srs.getString(5),srs.getString(6)));}}catch(HibernateExceptionhe){if(srs!=null){try{srs.close();}catch(Exceptione){System.out.println(e.getMessage());}}System.out.println(he.getMessage());}finally{try{session.close();}catch(Exceptione){System.out.pri
7、ntln(e.getMessage());}}returnres;}错误:在执行到srs=query.scroll();报如下错误ERROR[AssertionFailure]anassertionfailureoccured(thismayindicateabuginHibernate,butismorelikelyduetounsafeuseofthesession)org.hibernate.AssertionFailure:scrollableresultsetsarenotenabledatorg.hibernate.jdbc.Abst
8、ractBatcher.getPreparedStatement(AbstractBatcher.java:413)原因分析:jboss