• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JPA 여러 테이블 Join

22.09.29 00:44 작성 조회수 4.3k

0

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

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

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

[질문 내용]
안녕하세요? 강의 수강 잘 하고 있습니다.

원하는 내용 : 총 3개의 테이블에서의 JOIN 쿼리를 사용해야하는데, JPA 에서도 이부분이 가능한지 문의드립니다.

 

쿼리 : select ufile.UPLOAD_DATE, ufile.ORIGIN_FILE_NAME, ufile.STATUS, ufile.DESC, ufile.AVAILABLE_COUNT, ufile.DOWN_COUNT, master.FID, DATEADD('DAY', ?, ufile.UPLOAD_DATE ) AS validDate

from UPLOAD_FILE ufile

left join UPLOAD_INFO info on ufile.UPLOAD_INFO_ID = info.ID

left join FILE_MASTER master on ufile.FID = master.FID

where info.USERID = ? and ufile.UPLOAD_DATE > DATEADD('DAY',-?, CURRENT_DATE)

 

JPA 로 테이블은 각각 객체로 만들었습니다.

모든 테이블의 관계를 생성한 것은 아니지만 위 쿼리의 테이블은 관계 명시를 해놨습니다.

? 에 해당 하는 것은 하나는 입력값, 다른 하나는 특정 테이블의 값을 가져오는 것이서 호출 시점에 동적으로 변경됩니다.

 

JPA 에서 JOIN 하는 부분에 대한 예제가 있을까요?

인프런 이외 구글링을 해도 정확히 원하는 내용이 없어 문의드립니다.

 

감사합니다.

답변 1

답변을 작성해보세요.

0

David님의 프로필

David

2022.09.29

안녕하세요. 초보무한님, 공식 서포터즈 David입니다.

아래 글 한 번 보시겠어요?

https://velog.io/@alswl689/SpringBoot-with-JPA-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8N1-3.JPQL%EA%B3%BC-leftouter-join

jpa left join 키워드로 검색하시면 더 많은 자료를 찾아보실 수 있으니 참고해주세요:)

감사합니다.