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

백지우님의 프로필 이미지

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

실전 예제 1 - 요구사항 분석과 기본 매핑

item_id 네이밍 관련 질문드려요

23.11.26 22:55 작성

·

241

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
Item 엔티티 설계할때 id 를 item_id로 하는것이 구체적으로 명명하는게 좋아서 그렇다고 다른 질문에서 답변을 남겨주셨는데요, 그렇다면 order 엔티티도 order_id로 하는게 좋지 않나요? 그렇게 하지 않으신 이유가 order에 이미 memberId 필드가 있어서 그런걸까요? 굳이 order_id라고 명명하지 않아도 memberId와 구분되서 그런건가요?

답변 2

0

OMG님의 프로필 이미지

2023. 11. 29. 02:26

안녕하세요. 백지우님, 공식 서포터즈 OMG입니다.

엔티티 설계와 테이블 설계의 id 명명 규칙을 먼저 참고해주세요.


 

엔티티 설계

엔티티 자신의 id는 id로 되어 있습니다.

외래키는 테이블Id 형태로 되어 있습니다.

 

image

 

테이블 설계

각 테이블의 PK는 테이블명_ID로 되어 있습니다.

외래키도 마찬가지로 테이블명_ID로 되어 있습니다.

 

image


Item 엔티티 설계할때 id 를 item_id로 하는것이 구체적으로 명명하는게 좋아서 그렇다고 다른 질문에서 답변을 남겨주셨는데요,

 

=> 이 답변은 테이블 설계 시 테이블이름_ID' 형식으로 컬럼을 명명하면, 해당 ID가 어떤 테이블에 속하는지 쉽게 파악할 수 있고(ORDER_ITEM과 같은 중간테이블에서 특히), 여러 테이블 간의 조인을 수행할 때 유용하여 남긴 답변으로 이해하시면 될 것 같습니다.

 

order 엔티티도 order_id로 하는게 좋지 않나요? 그렇게 하지 않으신 이유가 order에 이미 memberId 필드가 있어서 그런걸까요? 굳이 order_id라고 명명하지 않아도 memberId와 구분되서 그런건가요?

 

ID 컬럼 혹은 id 필드의 명명 규칙은 강의에서 통일성 있게 위에 정리한 기준에 맞게 작성한 것으로 보시면 될 것 같습니다.(orderId로 하여도 문제 없습니다. 자바에서 변수명은 카멜케이스가 관례입니다.)

 

감사합니다.

0

David님의 프로필 이미지

2023. 11. 27. 21:22

안녕하세요. 백지우님, 공식 서포터즈 David입니다.

혹시 어떤 질문 글인지 링크 공유 가능하실까요?

감사합니다.