item_id 네이밍 관련 질문드려요
335
작성한 질문수 4
[질문 템플릿]
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로 하여도 문제 없습니다. 자바에서 변수명은 카멜케이스가 관례입니다.)
감사합니다.
inheritance startegy 선택시 고려사항
0
11
0
Entity 동등성 비교
0
14
1
실무 조언 관련 질문입니다.
0
41
1
H2데이터베이스 파일 생성
0
52
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
48
1
JPQL 메소드와 락
0
53
1
Delivery @OneToOne
0
57
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
89
2
UnsupportedOperationException 발생
0
82
3
H2 Database 연결이 안됩니다.
0
89
2
연관관계 매핑 질문드립니다.
0
82
2
h2데이터베이스 실행오류
0
105
2
persistence.xml
0
103
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
77
1
영속성 컨텍스트
0
62
1
JPA 프록시
0
90
1
Native Query와 MyBatis
0
63
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
84
1
임베디드 타입 예시 코드 관련 질문
0
112
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
91
3
인텔리제이 패키지 커서 단축키 질문
0
106
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
137
1
양방향 연관관계 시 연관관계 주인을 설정하는 이유
0
68
1





