작성
·
248
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
[질문 내용]
Item 엔티티 설계할때 id 를 item_id로 하는것이 구체적으로 명명하는게 좋아서 그렇다고 다른 질문에서 답변을 남겨주셨는데요, 그렇다면 order 엔티티도 order_id로 하는게 좋지 않나요? 그렇게 하지 않으신 이유가 order에 이미 memberId 필드가 있어서 그런걸까요? 굳이 order_id라고 명명하지 않아도 memberId와 구분되서 그런건가요?
답변 2
0
안녕하세요. 백지우님, 공식 서포터즈 OMG입니다.
엔티티 설계와 테이블 설계의 id 명명 규칙을 먼저 참고해주세요.
엔티티 설계
엔티티 자신의 id는 id로 되어 있습니다.
외래키는 테이블Id 형태로 되어 있습니다.
테이블 설계
각 테이블의 PK는 테이블명_ID로 되어 있습니다.
외래키도 마찬가지로 테이블명_ID로 되어 있습니다.
Item 엔티티 설계할때 id 를 item_id로 하는것이 구체적으로 명명하는게 좋아서 그렇다고 다른 질문에서 답변을 남겨주셨는데요,
=> 이 답변은 테이블 설계 시 테이블이름_ID' 형식으로 컬럼을 명명하면, 해당 ID가 어떤 테이블에 속하는지 쉽게 파악할 수 있고(ORDER_ITEM과 같은 중간테이블에서 특히), 여러 테이블 간의 조인을 수행할 때 유용하여 남긴 답변으로 이해하시면 될 것 같습니다.
order 엔티티도 order_id로 하는게 좋지 않나요? 그렇게 하지 않으신 이유가 order에 이미 memberId 필드가 있어서 그런걸까요? 굳이 order_id라고 명명하지 않아도 memberId와 구분되서 그런건가요?
ID 컬럼 혹은 id 필드의 명명 규칙은 강의에서 통일성 있게 위에 정리한 기준에 맞게 작성한 것으로 보시면 될 것 같습니다.(orderId로 하여도 문제 없습니다. 자바에서 변수명은 카멜케이스가 관례입니다.)
감사합니다.