Web/JPA
JPA - @JoinColumn 정리
여성게
2024. 7. 18. 21:03
참고블로그
https://ksh-coding.tistory.com/105
@JoinColumn의 name 속성
name 속성은 연관관계의 주인(@JoinColumn을 가진)의 테이블의 FK 필드명을 뜻한다.
* 참조하는 Entity가 존재할 경우
: 참조하는 Entity의 필드명 + "_" + 참조된 기본 키 열의 이름
public class Station {
...
@ManyToOne
@JoinColumn
private Line line;
}
: 참조하는 Entity(Station)의 필드명(line) + "_" + 참조된 Entity(Line)의 기본 키 열의 이름(id)
: line + "_" + id = "line_id"
위 클래스를 기반으로 설명을 하자면, Station은 Line과 연관 관계가 있는데, Station 데이터베이스 테이블에 Line과의 연관관계인 FK가 LINE_ID 필드로 되어 있다는 설정.
기본값 : 위 클래스 기준 Line 필드명(line) + Line클래스의 PK 필드명
@JoinColumn의 referencedColumnName 속성
referencedColumnName속성은 연관관계의 주인(@JoinColumn을 가진)과 연관관계에 있는 테이블의 PK 필드명(연관 관계 주인의 FK와 연결되는 필드)을 뜻한다.
기본값 : 위 클래스 기준 Line클래스의 PK 필드명