
| 관계 | 코드 선언 | Entity | 예 |
|---|---|---|---|
| 1 : N | @OneToMany | Order(1):Food(N) | 배달 주문 1개에 음식 여러개 선택 가능 |
| N : 1 | @ManyToOne | Owner(N):Retaurant(1) | 음식점 주인 여러명이 하나의 음식점을 소유 가능 |
| 1 : 1 | @OneToOne | Order(1):Coupon(1) | 배달 주문 1개 주문 시, 쿠폰 1개만 할인 적용 가능 |
| N : N | @ManyToMany | User(N):Restaurant(N) | 고객은 음식점 여러개 찜하기 가능 / 음식점은 고객 여러명에게 찜하기 가능 |
중요)) 항상 Entity 본인 중심으로 관계를 생각해야함!!!
@Entity
public class Order {
@OneToMany
private List<Food> foods;
@OneToOne
private Coupon coupon;
}
@Entity
public class Owner {
@ManyToOne
Restaurant restaurant;
}
@Entity
public class User {
@ManyToMany
List<Restaurant> likeRestaurants;
}
- 테이블 단위에서 데이터의 무결성을 보장하는 규칙
- 테이블 수정 작업하는 경우 잘못된 트랜잭션 수행을 방지하는 역할
- 테이블 간 제약조건이 있어서 종속성이 있는 경우 테이블 삭제를 방지
PK (Primary Key) :
FK (Foreign Key) :
UK (Unique Key) :