본문 바로가기

Development/Web & Server

[Hibernate] 원하는 값만 가져오기~!

DB의 구조를 잘못 잡아서 그럴수도 있지만... 본인의 경우 부모와 자식 관계?? 를 가진 관계에서 서로를 가져야하는 경우가 생겼다. 그래서 그냥 실행할경우 무한정 반복하다가 Overflow라는 오류로 죽게 되어... 부모가 자식을 가져오는 경우에는 자식이 부모를 가져올수 없게 다양한 시도를 했지만.. 실패를 하고 부모를 안가져오는 함수와 AOP로.... 대체하였다... 그래서 원하는 값만 가져오는 것이 필요하였다. 방법은 다음과 같다.



  final Criteria crit = this.mSessionFactory.getCurrentSession().createCriteria(클래스.class);

final ProjectionList projectionList = Projections.projectionList();

projectionList.add(Projections.property("user"), "user");

원하는 값 적기~!~~~~~~

crit.setProjection(projectionList);

crit.setResultTransformer(Transformers.aliasToBean(클래스.class));