Spring/팀스파르타

37. Entity 연관관계 - N 대 1

열심히 해 2024. 12. 6. 14:54
  • @ManyToOne
    • @ManyToOne 애너테이션은 N 대 1 관계를 맺어주는 역할을 합니다.
    • 음식 Entity와 고객 Entity가 N 대 1 관계라 가정하여 관계를 맺어보겠습니다.

 

 

단방향

 

 

@Entity
@Table(name = "food")
public class Food {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private double price;

    @ManyToOne
    @JoinColumn(name = "user_id")
    private User user;
}
@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
}

 

 

 

 

 

양방향

 

 

@Entity
@Table(name = "food")
public class Food {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private double price;

    @ManyToOne
    @JoinColumn(name = "user_id")
    private User user;
}
import java.util.ArrayList;

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;

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

'Spring > 팀스파르타' 카테고리의 다른 글

39. Entity 연관관계 - N 대 M  (0) 2024.12.06
38. Entity 연관관계 - 1 대 N  (0) 2024.12.06
36. Entity 연관 관계 - 1 대 1  (0) 2024.12.06
35. Entity 연관 관계 기초  (1) 2024.11.28
34. RestTemplate의 Post 요청, exchange  (0) 2024.11.27