@JoinColumn이란?@JoinColumn 은 JPA(Java Persistence API)에서 외래 키(Foreign Key)를 매핑할 때 사용하는 애너테이션이다.
즉, 테이블 간 관계를 설정할 때 어떤 컬럼을 외래 키(FK)로 사용할지 명시하는 역할을 한다.
@JoinColumn 기본 개념@ManyToOne, @OneToOne 관계에서 사용됨 FK 컬럼의 이름을 직접 지정할 수 있음 @JoinColumn 사용 예제@ManyToOne 단방향 매핑import jakarta.persistence.*;
@Entity
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@ManyToOne // 다대일 관계 (Member -> Team)
@JoinColumn(name = "team_id") // 외래 키(FK) 컬럼 이름을 "team_id"로 지정
private Team team;
}
@Entity
public class Team {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@OneToMany(mappedBy = "team") // Member 엔티티의 "team" 필드에 의해 매핑됨
private List<Member> members;
}
}
@ManyToOne
private Team team; // 자동으로 FK 컬럼명 "team_id" 생성됨