bboks.net™

Hibernate Criteria 재사용 본문

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);


[참조] How to reuse a Criteria object with hibernate?