Hibernate의 페이지 모호 검색 기능

웹 프로젝트에서 디스플레이 데이터는 일반적으로 페이지별로 표시되는데 페이지를 나누는 동시에 사용자는 검색의 수요, 즉 모호한 조회를 필요로 할 수 있기 때문에 우리는dao에서 페이지를 나눌 수 있고 동적 조건부 조회를 할 수 있는 방법을 써야 한다.페이지를 나누는 것이 비교적 간단하고hibernate가 제공하는 페이지를 사용하며 동적 조건은 맵('필드', 모호값)으로 조회 조건을 봉인한다. 맵은 여러 개의 조회 조건을 추가할 수 있어 좋은 선택이고 페이지를 나누어 모호한 조회를 실현할 수 있다.

@Override
  public List<T> findPage(int page, int length, Map<String, Object> pram) {
     List<T> result = null;  
     try 
     { 
           // hql,this.entityClazz.getSimpleName() , 
       String hql = "from " + this.entityClazz.getSimpleName() + " where 1=1 and "; // 
       Session session = this.sesionFactory.openSession(); // 
       if(!pram.isEmpty())  // 
       {
         Iterator<String> it = pram.keySet().iterator(); // map
         while(it.hasNext())
         {
            String key = it.next(); // map key, 
            hql = hql + key + " like " + "'%" + pram.get(key) + "%'" + " and "; // hql
         }
       }
       hql += " 2=2"; // hql  2=2, hql 
       System.out.println(hql);
       Query query = session.createQuery(hql); 
       query.setFirstResult((page - 1) * length); //   
       query.setMaxResults(length);  // 
       result = query.list(); // 
     } catch (RuntimeException re)  
     {  
       throw re;  
     }  
     return result;  
  }
상기에서 말한 것은 편집자가 여러분께 소개한hibernate의 페이지 모호 조회 기능입니다. 여러분께 도움이 되었으면 합니다. 만약에 궁금한 것이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기