목록2016/05/27 (1)
좋은 프로그램은 마음의 여유에서 나온다.
하이버네이트 join시 중복제거
many to many로 조인시 a테이블의 1번에 b테이블에 3개의 관계가 형성되어있으면 하이버네이트에서 Criteria로 select시 setMaxResults를 3으로 설정해놓으면 a테이블에서 1번 index를 가진 객체가 3개 나옴. 중복제거를 해야하는데, .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)를 설정하면 셀렉트 후 중복제거를 해서 1개만 남는다. .setProjection(Projections.distinct(Projections.property("id"))) 을 이용하면 중복 제거는 되지만 id 컬럼만 select되어 컬럼들을 전부 추가해줘서 객체로 만들어야 함.... 오랜 검색끝에 setFetchMode를 이용하면 ..
프로그래밍/기타
2016. 5. 27. 22:21