hibernate search 分页(Pagination)

来源:互联网 发布:淘宝双十一规则 编辑:程序博客网 时间:2024/06/06 01:07


     session = sf.openSession();
     FullTextSession fullTextSession=Search.getFullTextSession(session);
     Transaction tx = fullTextSession.beginTransaction();

     QueryBuilder qb = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity( BasicCar.class ).get();
     //查询是把salesman.address.city替换就可获取其他结果,如carName就可以直接获取本身的值,并不用通过关联来获取值
     org.apache.lucene.search.Query query = qb.keyword().onFields("BaiscCarName").matching("hello").createQuery();


     org.hibernate.Query hibQuery = fullTextSession.createFullTextQuery(query, BasicCar.class);
   
     
//设置返回的结果个数
     hibQuery.setFirstResult(10); //start from the 15th element从哪里开始   
     hibQuery.setMaxResults(3); //return 10 elements  返回个数
   


      List result = hibQuery.list();
     for(int i=0;i<result.size();i++)
     {
     BasicCar bc3 = (BasicCar) result.get(i);
     System.out.println("id for the selected basiccar is:"
     +bc3.getId());          
     }

     tx.commit();
     session.close();