인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

실전! Querydsl

리포지토리 지원 - QuerydslRepositorySupport

fetch join 할 때 별칭

해결된 질문

작성

·

86

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
fetch join을 할 때 별칭을 사용하는 것을 지양하라고 알고 있는데,

@Test
public void fetchJoinUse() throws Exception {
    em.flush();
    em.clear();

    Member findMember = queryFactory
            .selectFrom(member)
            .join(member.team, team).fetchJoin()
            .where(member.username.eq("member1"))
            .fetchOne();
}

.join에서 2번째 인자로 team을 주면 별칭을 주는 것 아닌가요?? QueryDsl에서는 상관이 없는 걸까요?

답변 1

0

안녕하세요. 인사이트 캠퍼스님, 공식 서포터즈 y2gcoder입니다.

보통 fetch join의 대상에 별칭을 지양하는 이유는 데이터 무결성을 해칠 수 있기 때문입니다.

그리고 지양이라는 단어에서 알 수 있듯이 명확하게 이유를 알고 데이터 무결성을 해치지 않는 선에서 사용할 수 있다면 사용해도 괜찮습니다. 특히 위의 쿼리는 별칭을 준다고 해서 데이터 무결성에 영향을 주지 않습니다!

더 자세한 답변은 다음 답변(링크)를 참고해주십쇼!

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기