작성
·
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)
감사합니다.