좋은 프로그램은 마음의 여유에서 나온다.
하이버네이트 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를 이용하면 되는 것을 찾음
http://stackoverflow.com/questions/11038234/pagination-with-hibernate-criteria-and-distinct-root-entity
'프로그래밍 > 기타' 카테고리의 다른 글
ibatis에서 mybatis로 컨버팅 툴 (0) | 2016.08.15 |
---|---|
iOS 앱스토어 업로드 오류 Invalid Info.plist value. MinimumOSVersion value is 8.0 (0) | 2016.08.12 |
구글 텐서플로우(tensorflow) 설치해보기 (0) | 2016.05.20 |
부트스트랩 3 반응형 제거하기 (0) | 2014.07.28 |
주소로 GPS 좌표 구하기 (0) | 2013.09.19 |
Comments