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

title.jjk님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

Id 대신 name을 사용하는 이유

해결된 질문

24.06.20 17:14 작성

·

66

·

수정됨

0

강의에서 사용자는 Id로 조회하고, 도서는 name으로 조회하는데 별도의 이유가 있을까요?

실제 구현한다면 동일한 도서명이 있을 것 같기도 하고, 일관성을 위해 강의를 참고하며

개인적으로 두가지 다 Id로 조회하도록 구현하고 있었습니다.

 

Dto나 Repository 등에서 타입과 이름만 잘 변경해주면 문제가 없을꺼라고 생각했는데

중간에 제가 잘못 설계한 곳이 있는지 도서 대출시 BookRequestLoan에 값이 계속 안넘어옵니다.

 

혹시 Id (long 타입)로 조회하면 크게 달라지는 코드가 있거나 주의해야하는 부분이 있는지

여쭤보고 싶어서 문의글 남깁니다.

 

답변 1

1

최태현님의 프로필 이미지
최태현
지식공유자

2024. 06. 20. 17:29

안녕하세요, title.jjk님! 🙂 좋은 질문 감사드립니다.

 

결론부터 말씀드리면 교육적 이유입니다!

id로만 데이터를 조회하게 되면 findByXXX 과 같은 기능을 자연스럽게 소개해 드리기 어렵다 보니 일부러 id로 한 번 name으로 한 번 조회하게끔 API를 설계해 두었습니다.

 

실제로는 말씀해주신 것처럼 unique key를 별도로 설정하지 않는 이상 중복되는 데이터가 있을 수 있기에 PK (= id)를 기준으로 API를 설계하는 편입니다.

 

BookRequestLoan 가 잘 동작하지 않는 이유는 다른 곳에 있지 않을까 싶어요!

답변이 도움이 되었으면 좋겠습니다. 감사합니다. 🙏

title.jjk님의 프로필 이미지
title.jjk
질문자

2024. 06. 21. 10:05

답변 감사합니다!

 일단 강의내용대로 끝까지 따라해본 후 다시 리팩토링 해보겠습니다ㅎㅎ