식별자 관리 질문드립니다.
MemberProduct(Order)에 주문번호로 관리가 되면 ID는 그대로 두고 주문번호라는 컬럼을 추가하고 Unique 인덱스를 추가하는 것이 나은것인지 아니면 주문번호를 PK로 올리는 것이 맞는것인지 궁금합니다.
Answer 4
1
강사님, 이 질문의 답변 내용에 대해서 질문있습니다.
주문번호라는 새로운 컬럼을 추가하여 PK로 사용하신다는 것은 지금까지 강의에서 설명하셨던 것처럼 PK를 Generated Value로 사용하기 위함일거라고 생각되는데요.
어차피 Id라는 녀석이 있는데 왜 굳이 주문번호 컬럼을 추가하는지 모르겠습니다.
애초에 Id라는 값이 위의 목적에 부합하는 Generated Value이지 않나요? 그냥 Id를 바로 PK삼으면 될 것을 왜 굳이 주문번호를 추가하는지요?
혹시 Id라는 값이 Generated Value로 주어진 PK로서의 역할만 하는 것이 아니라 비즈니스 로직에서 어떤 유의미한 값으로 사용될 수 있기 때문인가요?
만약 이게 맞다면, 이러한 Id의 쓰임새에 대해서 간략하게 설명을 부탁드려도 될까요?
1
안녕하세요 양광모님 좋은 질문입니다.
둘다 장단점이 있고, 내용이 너무 길어져서 제가 선호하는 방법을 말씀드리면, 저는 ID는 그대로 주고 주문번호 컬럼을 추가하는 방식으로 문제를 해결합니다.
자세한 내용은 JPA 책 220p ~ 234p 6.4 다대다 부분을 보면 두가지 케이스를 코드로 비교해서, 각 장단점과 궁금해 하시는 부분을 쭉 풀어서 설명해두었습니다.
감사합니다^^
Entity 동등성 비교
0
5
1
실무 조언 관련 질문입니다.
0
41
1
H2데이터베이스 파일 생성
0
51
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
48
1
JPQL 메소드와 락
0
52
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
83
1
임베디드 타입 예시 코드 관련 질문
0
112
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
90
3
인텔리제이 패키지 커서 단축키 질문
0
106
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
136
1
양방향 연관관계 시 연관관계 주인을 설정하는 이유
0
68
1
임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.
0
95
1

