Java/Hibernate
Hibernate Criteria 재사용
bboks.net
2013. 3. 26. 17:19
Hibernate를 사용하다보면 Criteria를 재사용할 상황이 가끔 생긴다.
예를 들면 Paging과 같은
nHibernate에는 CriteriaTransformer(?)에서 지원을 하는 것 같은데 hibernate에서는 없는 것 같음
이를 우회하는 방법은 criteria의 projection을 초기화하고 다시 세팅하는 방법이 있다.
ProjectionList projectionList = Projections.projectionList(); //전체 개수를 가져옴 int totalCount = Integer.parseInt(criteria.setProjection(Projections.rowCount()).list().get(0).toString()); //criteria 재사용을 위해 projection를 초기화하고 다시 설정 criteria.setProjection(null); criteria.setProjection(projectionList);