2분24초
391
작성한 질문수 108
FAVORITE_FOOD랑 ADDRESS에서
MEMBER_ID가 FK인건 알겠는데 어떻게 PK가 되는거죠?
@JoinColumn으로 외래키랑 매핑하는건 알겠는데
MEMBER_ID가 PK 되는 과정이 궁금합니다.
답변 1
0
안녕하세요. alrnr3521님
데이터베이스 테이블에는 항상 PK가 필요합니다.
예를 들어서 FAVORITE_FOOD에서 MEMBER_ID를 PK로 잡지 않으면 FOOD_NAME만 PK로 잡게 되는데요. 이렇게 되면 다른 사용자는 같은 음식 이름을 가질 수 없겠지요?
혹시 관련 내용이 잘 이해가 되지 않으면 데이터베이스 기본에 대한 학습이 필요합니다.
도움이 되셨길 바래요^^
0
근데 7분39초에 보면 Member테이블은 아래에 primary key (MEMBER_ID)로 PK가 생성됐는데 FAVORITE_FOOD는 PK를 언제잡는건가요?
0
안녕하세요~ 제 생각에 영한님 말씀을 정리하자면 일단 하나의 테이블은 하나의 pk만 들고 있을 수 있어요. 근데 하나의 칼럼이 하나의 pk가 되는 건 아니에요. 2개의 칼럼이 조합되어서 하나의 pk로 쓰일 수 있거든요
create table test(
id int auto_increment,
food varchar(255),
constraint test_PK primary key(id,food)
)이렇게 말이죠
이렇게 되었을 땐 아이디 + 음식 = 하나의 pk로 잡혀서 여러 유저의 음식 이름이 중복 되어도 아이디 값이 다르니 값이 허용 되는거에요. 음식 이름으로만 pk를 잡으면(테이블은 하나의 pk를 무조건 들고 있어야 함 ) 서로 다른 유저가 같은 음식을 좋아할 수 없겠지요.
근데 jpa 로 쿼리를 날려보면 이렇게 pk를 설정하는 부분은 보이지 않아요 이건 따로 ddl에서 설정을 해야해요.
질문있습니다.
0
63
1
리뉴얼 시기
0
129
2
변경감지(더티체킹) 이후 플러시할 경우의 쿼리
0
99
1
단일 테이블 시 null 값과 연관관계 필요성 질문
0
91
1
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
125
2
inheritance startegy 선택시 고려사항
0
90
1
Entity 동등성 비교
0
83
1
실무 조언 관련 질문입니다.
0
114
1
H2데이터베이스 파일 생성
0
128
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
1
121
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
105
1
JPQL 메소드와 락
0
107
1
Delivery @OneToOne
0
113
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
188
2
UnsupportedOperationException 발생
0
203
3
H2 Database 연결이 안됩니다.
0
154
2
연관관계 매핑 질문드립니다.
0
151
2
h2데이터베이스 실행오류
0
165
2
persistence.xml
0
204
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
146
1
영속성 컨텍스트
0
121
1
JPA 프록시
0
159
1
Native Query와 MyBatis
0
140
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
149
1





