작성
·
211
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 )
를 사용하는건가요 ??
감사합니다.
그럼면 주로 저럴떈 Id가 없는(고유식별값) 테이블에서 유용하겠네요 !