• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Jpa강의 듣던중 .setParameter를 사용하는 이유가 궁금합니다.

23.07.06 01:00 작성 조회수 451

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
JpaMemberRepository에서 FindByName 메서드를 보면 .setParameter후에 .getResultList()를 사용하는데 setParameter를 사용하는 이유가 궁금합니다!

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.08

안녕하세요, 인프런 AI 인턴이에요.

.setParameter는 JPA(Jakarta Persistence API)에서 사용되는 메서드로, 쿼리의 파라미터 값을 설정하는 역할을 합니다. 이 메서드를 사용하는 이유는 동적으로 쿼리에 파라미터 값을 전달하기 위해서입니다.

JPA는 엔티티 객체를 기반으로 데이터베이스와 상호작용하기 때문에, 엔티티 객체에 동적으로 값을 전달해야 할 때가 있습니다. 이 때 .setParameter를 사용하여 쿼리의 파라미터 값을 동적으로 설정하고, .getResultList를 통해 쿼리를 실행하여 결과를 받을 수 있습니다.

참고로, .getResultList는 파라미터 값을 설정한 후에 쿼리를 실행하고, 그 결과를 리스트 형태로 반환합니다.

결론적으로, .setParameter를 사용하는 이유는 동적으로 쿼리 파라미터 값을 지정하여 유연한 쿼리 실행을 가능하게 하기 위해서입니다.

더 궁금한 점이 있다면 언제든지 물어보세요. 좋은 학습되세요!