인프런 커뮤니티 질문&답변
findByName을 찾을 때 쿼리를 사용하는 이유
작성
·
320
0
안녕하세요. jpa를 사용하여 데이터를 가져올 때
findById와 다르게 Name을 가져올 때는 쿼리를 사용하는 이유가 잘 이해가 되지 않습니다.
퀴즈
순수 JDBC를 사용할 때, 데이터베이스 리소스(연결, Statement 등) 관리가 어려웠던 주된 이유는 무엇일까요?
SQL 쿼리를 직접 작성해야 해서
각 리소스를 사용 후 반드시 직접 닫아줘야 해서
테스트 간 데이터 독립성을 보장하기 어려워서
의존성 주입 설정이 복잡해서
답변 1
0
안녕하세요. 김동환님, 공식 서포터즈 OMG입니다.
JPA에서 id는 필수값이며 영속성 컨텍스트에서도 식별을 위해 반드시 필요한값입니다. 그리하여 객체 조회 시 id로 조회가 가능하지만 name필드는 가능하지 않아 쿼리를 사용하여 확인하는 것 으로 이해하시면 될 것 같습니다.
추가적으로 아래 링크의 find() vs JPQL 항목 설명을 참고하시길 권장드립니다.
참고
https://coding-start.tistory.com/104
관련하여 영한님의 JPA기본편 강의에세도 자세히 알려주십니다^^
감사합니다.





