강의

멘토링

커뮤니티

Inflearn Community Q&A

ecomin's profile image
ecomin

asked

Practical! Spring Data JPA

How to distinguish new entities

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

Written on

·

261

2

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

JPAspring-bootjavaspring

Answer 1

4

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 경재님

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

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

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

<S extends T> S save(S entity)

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

Optional<T> findById(ID id)

감사합니다.

ecomin's profile image
ecomin

asked

Ask a question