Spring, Java 개발자 입니다

JPA/Fetch join

JPQL 페치 조인 (fetch join) - ②

페치 조인의 특징과 한계 페치 조인 대상에는 별칭을 줄 수 없다. 하이버네이트는 가능하지만 가급적 사용하지 않는다. 둘 이상의 컬렉션은 페치 조인 할 수 없다. 컬렉션을 페치 조인하면 페이징 API를 사용 할 수 없다. .setFirstResult(), .setMaxResults() 사용 불 가능 이러한 한계에도 불구 하고 연관된 엔티티들을 SQL 한 번으로 모두 가져올 수 있기 때문에 좋은 성능을 내기 위해서 사용하고 있다. 따라서 성능 최적화가 필요한 곳은 페치 조인을 적용한다. fetch join 정리 모든 것을 페치 조인으로 처리할 수 는 없다. 페치 조인은 객체 그래프를 유지할 때 사용하면 효과적이다. 여러 테이블을 조인해서 엔티티가 가진 모양이 아닌 전혀 다른 결과를 내야 한다면, 페치 조인보..

JPA/Fetch join

JPQL 페치 조인 (fetch join) - ①

JPQL fetch join SQL 조인 종류가 아니다. JPQL에서 성능 최적화를 위해 제공하는 기능으로 연관된 엔티티나 컬렉션을 SQL 한 번에 함께 조회하는 기능이다. join fetch 명령어를 사용한다. ex) 회원을 조회하면서 연관된 팀도 같이 조회하고 싶다. JPQL 쿼리 → select m from Member m join fetch m.team 실제 동작하는 SQL 쿼리 → SELECT M.*, T.* FROM MEMBER M INNER JOIN TEAM T ON M.TEAM_ID=T.ID 컬렉션 페치 조인 일대다 관계, 컬렉션 페치 조인 JPQL 쿼리 → select t from Team t join fetch t.members where t.name = ‘팀A' 실제 동작하는 SQL ..

수달하나
'JPA/Fetch join' 카테고리의 글 목록