인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

민경재님의 프로필 이미지
민경재

작성한 질문수

실전! 스프링 데이터 JPA

새로운 엔티티를 구별하는 방법

안녕하세요 궁금한게 있어서 질문 하나 드려봅니다!!!

작성

·

239

2

강사님 언제나 강의 잘듣고 있습니다 감사합니다.
다름이 아니라 Item 의 @Id 타입이
String 으로 변경되었는데
ItemRepository 안 JpaRepository 값을
Long -> String 으로 바꿔야 하지 않나요?? 
바꾸지 않고 진행을 해도 save 는 잘돌아 가던데 
(그외 Id 의 타입이 필요한 method 호출시는 오류가 뜨지만..)
그럼 실질적으로 PK 값으로 굳이 넣지 않아도 되는건가요??

답변 1

4

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 경재님

ID 타입을 정확하게 지정해주어야 합니다.

스프링 데이터 JPA 인터페이스가 내부에서 ID 타입을 사용하는 경우도 있고 사용하지 않는 경우도 있는데요.

save의 경우는 ID를 사용하지 않습니다. 그래서 이 경우는 ID 타입이 달라도 정상 동작합니다.

<S extends T> S save(S entity)

그런데 findById 같은 경우에는 ID 타입을 사용하기 때문에 꼭 맞추어야 합니다.

Optional<T> findById(ID id)

감사합니다.

민경재님의 프로필 이미지
민경재

작성한 질문수

질문하기