728x90
작성 예시
/**
* 사용자 Id와 일치하는 TopicVote를 조회하며, 해당 TopicVote에 맞는 Topic과 TopicVoteItem을 join하여 반환
* @param memberId
* @param pageable
* @return TopicVote에 대한 Page 데이터 반환 (단, Topic-TopicVoteItem 양방향 매핑 | TopicVoteItem-TopicVote 양방향 매핑으로인한 순환참조 존재 => DTO에서 처리 )
*/
@Query(value = "SELECT tv.* FROM TopicVote tv " +
"INNER JOIN TopicVoteItem tvi ON tv.topic_vote_item_id = tvi.topicVoteItemId " +
"INNER JOIN Topic t ON tv.topic_id = t.topicId " +
"WHERE tv.member_id =:memberId", nativeQuery = true)
Page<TopicVote> findAllByMemberIdWithTopicAndTopicVoteItem(@Param("memberId") Long memberId, Pageable pageable);
레퍼런스
1. Native Query 출처 및 참고 링크 : https://okky.kr/articles/344891

2. JPQL 및 SQL 비교 출처 및 참고링크 : https://jammdev.tistory.com/183

728x90
'Java & Spring > Spring' 카테고리의 다른 글
| [Redis] (5) EC2에 Redis 적용하기 - Ubuntu 사용 (0) | 2023.02.15 |
|---|---|
| [Logging] p6spy 커스터 마이징 (0) | 2023.02.15 |
| [Redis] (4) 도커 없이 Redis 적용하기 - Ubuntu 사용 (0) | 2023.02.14 |
| [Redis] (3) Redis로 로그아웃 (Access 및 Refresh Token 관리) (0) | 2023.02.11 |
| [Redis] (2) Redis로 로그인 (Refresh Token 관리) (0) | 2023.02.11 |