인프런 커뮤니티 질문&답변
외래키를 string으로 설정하는 법
작성
·
328
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(http://bit.ly/3fX6ygx)을 먼저 확인해주세요.
3. 질문 잘하기 메뉴얼(http://bit.ly/2UfeqCG)을 먼저 읽어주세요.
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(http://bit.ly/3fX6ygx)을 먼저 확인해주세요.
3. 질문 잘하기 메뉴얼(http://bit.ly/2UfeqCG)을 먼저 읽어주세요.
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
안녕하세요, 영한님 연관관계를 맺다보니 string인 로그인 id로 외래키를 설정하고 싶은데, 제대로 mapped by를 설정하고 해봐도 외래키 부분이 bigint로 처리가 되더라고요, 이때는 방법이 있나요?
답변 1
0
김영한
지식공유자
안녕하세요. rt.slowth님
외래키도 string으로 가능합니다. 그런데 PK와 연관관계를 맺을 FK의 데이터 타입은 같아야 합니다.
현재 어떻게 설정해두셨는지, 코드를 모두 남겨주세요.
감사합니다.
공공수달
질문자
공공수달
질문자
@Entity
@Getter
@Builder
@AllArgsConstructor
public class Weight {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;
/**
* 외래키가 string으로 설정이 안 되는 바람에 일시적으로 멤버 테이블에 있는 PK를 몸무게 테이블의 FK로 지정
*/
private LocalDate recordedDate;
private Long weight;
}공공수달
질문자
로그인 아이디를 unique로 설정해두었기에 외래키로 써도 적합하다고 생각했습니다. member 와 weight를 1:n으로 맵핑하기 위해서 member의 로그인 아이디를 FK로 설정하는 과정에서 발생했습니다!
현재는 member의 PK를 그냥 weight 의 FK로 설정해두었습니다.





