작성
·
438
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
public List<Member> findName(String name){
return em.createQuery("select m from m where m.name =:name", Member.class)
.setParameter("name", name)
.getResultList();
}
MemberRepository 패키지의 findName을 보면
반환 타입이 List<Member>인데 validation을 할 때 보면 findName이 넘겨준 값이 존재하는지 안하는지로 중복 여부를 체크합니다.
그리고 findName의 쿼리를 보면 쿼리 실행 값이 한개만 나오는거로 예상이 됩니다. where절에서 넘겨받은 name 파라미터 값과 동일한 데이터만 이라고 조건이 있기에.
findName 실행 결과 값을 Member 객체 하나만 받을 텐데 그렇다면 name은 중복인 값이 존재하지 못하는데 왜 List<Member> 자료형을 쓰는건가요?
답변 1
0