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

한정용님의 프로필 이미지

작성한 질문수

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

값 타입 컬렉션

값 타입 컬렉션 테이블의 PK 관련 질문드립니다

작성

·

381

0

값 타입 컬렉션 테이블(ex. FAVORITE_FOOD)이 생성될 때, MEMBER_ID, FOOD_NAME을 같이 PK로 만들어야한다고 말씀해주셨는데 

코드를 실행시키고 보니 

    create table FAVORITE_FOOD (

       MEMBER_ID bigint not null,

        FOOD_NAME varchar(255)

    )

    alter table FAVORITE_FOOD 

       add constraint FKjchfnr69biisfgjdpoe82rpa4 

       foreign key (MEMBER_ID) 

       references Member

PK를 설정하는 부분은 안나와 있더라구요. 만약 값 타입 컬렉션을 사용한다면 PK는 개발자가 따로 설정해줘야하나요? 잘 이해가 안가네요 ㅠ

답변 2

2

한정용님의 프로필 이미지
한정용
질문자

영한님께서 말씀하신 JPA가 생성한 DDL을 다듬어야 한다는 부분이 이런 뜻이였군요..! 데이터베이스 또한 열심히 공부해야겠네요 ㅎㅎ 답변 감사합니다

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 정용님

맞습니다. 개발자가 따로 설정해주셔야 합니다!

(JPA 입장에서는 중복을 허용하는 리스트를 사용했기 때문에 이게 맞지만, 데이터베이스 입장에서는 PK 없이 사용하는 것은 문제가 됩니다. 그래서 JPA가 만들어주는 DDL을 완전히 믿고 사용하시면 안됩니다.)

감사합니다.