인프런 커뮤니티 질문&답변
Distinct
작성
·
228
0
안녕하세요 영한님 강의 너무 잘보고있습니다.
Distinct 쿼리를 한번 만들어 보았는데요
public interface MemberRepository extends JpaRepository<Member,Long> {
List<Member> findDistinctByUsername(String userName);
}
=========================
//테스트 코드
@Test
public void findDistinctByUsername(){
Member m1 = new Member("AAA", 10);
Member m2 = new Member("AAA", 20);
memberRepository.save(m1);
memberRepository.save(m2);
List<Member> findDistinctByUsername = memberRepository.findDistinctByUsername("AAA");
}
==================================
실행 결과
Hibernate:
select
distinct member0_.member_id as member_i1_0_,
member0_.age as age2_0_,
member0_.team_id as team_id4_0_,
member0_.username as username3_0_
from
member member0_
where
member0_.username=?
---------------------------------------------
제가 궁금한건 결국 마지막엔 Member 의 필드를 모두 조회합니다.
그런데 Id 의 값은 중복이 될수 없으니 이 쿼리는 Member 엔티티를 모두 조회하는거랑 같습니다.
Id를 요구하지않는 테이블에서만 이런 쿼리 메소드(distinct )
를 사용하는건가요 ??
퀴즈
Spring Data JPA에서 리포지토리 메소드의 이름만으로 쿼리를 생성할 때, 조건을 정의하는 부분의 시작을 나타내는 키워드는 무엇일까요?
Find
Get
By
Where






감사합니다.
그럼면 주로 저럴떈 Id가 없는(고유식별값) 테이블에서 유용하겠네요 !