728x90
외래키의 주인은 1:N, N:1에선 1이고 N이 가지고 있는다.
N:M
직접 연관을 맺으면 안된다. 가운데에 테이블을 하나 더 생성하여 테이블을 거쳐 관계를 맺어야 한다.
N : 1 : M 형식이 된다
예시: 여러 메뉴(N)를 가지는 식당과 여러 손님(M) 사이의 주문(1)
중간 테이블인 Order테이블
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
@JoinColumn(name = "user_id")
private User user;
@JoinColumn: 외래키를 매핑할 때 사용. 저장시 user_id라는 릴레이션(튜플)에 저장한다.
users(손님) 테이블
@OneToMany(mappedBy = "user")
private List<Order> orderList = new ArrayList<>();
private List<Order> orderList = new ArrayList<>();
mappedBy: 타겟 엔티티(Order)의 변수명(user)을 작성하여 데이터를 저장한다.
'Springboot' 카테고리의 다른 글
[Springboot] CORS란? (2) | 2023.07.15 |
---|---|
[Springboot] Handler, @ExceptionHandler, @ControllerAdvice (1) | 2023.07.11 |
[Springboot] Security (0) | 2023.07.01 |
[Springboot] Filter와 Spring Security (0) | 2023.06.30 |
[Springboot] login 구현 (0) | 2023.06.29 |