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 |