인프런 커뮤니티 질문&답변

최규범님의 프로필 이미지

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

JPA

단순한 궁금증으로 인한 질문 드리겠습니다.

작성

·

161

0

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

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

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

[질문 내용]
JPA사용법에 관한 강의를 듣다가 정확히 따로 정리를 하는데 스스로 정리를 어떻게 해야할 지 모르겠어서 문의 남깁니다.

JpaRepository에서 findById함수 아래 코드가
Member member = em.find(Member.class, id); 라고 작성이 되는데 find 괄호 안에 Member.class에 저런 ,class방식으로 작성이 되는 설명이나 이유를 좀 알려주실 수 있으실까요?

답변 1

1

안녕하세요. 최규범님, 공식 서포터즈 y2gcoder입니다.

imageEntityManager 인터페이스의 find()를 보시면 파라미터들의 설명이 나와있습니다!

간단하게 말씀드리면 첫번째 파라미터는 제네릭을 이용한 반환할 엔티티 타입에 대한 클래스 메타 정보, 두번째 자리는 조회 조건인 기본키 입니다. JPA는 @Id에 정의한 기본키를 기준으로 작동하기 때문에 해당 기본키만 알고 있으면 기본키를 이용해서 DB에서 해당 엔티티를 조회할 수 있습니다.

해당 내용에 대해서 본질적으로 이해하시고자 한다면 영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편 를 꼭 수강해보시는 것을 강력 추천합니다!

 

감사합니다.