N:1 (Many-to-One) 개념

정의: 여러 개의 엔티티(N)가 하나의 엔티티(1)를 참조하는 관계.

관계

  • N쪽 (Many): 연관관계의 주인 → 외래키를 가짐
  • 1쪽 (One): 외래키가 없음 → mappedBy로 연관관계를 역방향으로 정의 가능
@Entity
@Data
@NoArgsConstructor
public class Post {
    @Id
    @GeneratedValue
    private Long id;

    @ManyToOne
    @JoinColumn(name = "user_id") // Post 테이블에 user_id(FK) 컬럼 생성
    private User user;
}

 

 

양방향 매핑 (선택 사항)

@Entity
@Data
@NoArgsConstructor
public class User {

    @Id 
    @GeneratedValue
    private Long id;

    private String name;

    @OneToMany(mappedBy = "user")
    private List<Post> posts = new ArrayList<>();
}

mappedBy = "user": Post의 user 필드가 관계의 주인임을 나타냄 (즉, 외래 키는 Order가 관리함)

'Spring' 카테고리의 다른 글

JPA - M:N 연관 관계  (0) 2025.07.19
JPA - 1:N 연관 관계  (0) 2025.06.16
JPA - 1:1 연관 관계  (0) 2025.06.16
JPA - Entity Listener의 활용  (1) 2025.06.12
JPA  (1) 2025.06.06

+ Recent posts