TIL)23.06.22_Entity간의 연관 관계

주민·2023년 6월 22일
0

TIL

목록 보기
24/84

Entity: Entity => 외래키의 주인이 되는 Entity: 다른 Entity
종류는 4가지가 있고 거기서 또 단방향, 양방향으로 나눠 볼 수 있다.

1 대 1

@OneToOne

  • 단방향
    -> 주인이 아닌 Entity에는 추가할 내용이 없음
* 주인인 Entity =>Food
@Entity

@OneToOne 
@JoinColumn(name = "user_id") => user class의 Long id
private User user;
-----------------------------------------------------
* 다른 Entity => User
@Entity

private Long id;
  • 양반향
    -> 양방향관계는 외래 키의 주인을 지정해 줄 때 mappedBy 옵션을 사용
* 주인인 Entity =>Food
@Entity

@OneToOne 
@JoinColumn(name = "user_id") => user class의 Long id
private User user; => mappedBy의 user!!
-----------------------------------------------------
* 다른 Entity => User
@Entity

private Long id;

@OneToOne(mappedBy = "user")
private Food food;

N 대 1

@ManyToOne

  • 단방향
    -> 주인이 아닌 Entity에는 추가할 내용이 없음
* 주인인 Entity =>Food
@Entity

@ManyToOne
@JoinColumn(name = "user_id")
private User user;
-----------------------------------------------------
* 다른 Entity => User
@Entity

private Long id;
  • 양반향
    -> 양방향관계는 외래 키의 주인을 지정해 줄 때 mappedBy 옵션을 사용
    -> Food class 기준에서는 @ManyToOne 이나 User은 반대의 입장임으로 @OneToMany을 사용
* 주인인 Entity =>Food
@Entity

@ManyToOne
@JoinColumn(name = "user_id")
private User user;
-----------------------------------------------------
* 다른 Entity => User
@Entity

private Long id;

@OneToMany(mappedBy = "user")
private List<Food> foodList = new ArrayList<>();
	=> Food의 데이터가 여러개가 들어올 수 있기 때문에 List를 사용

TIL)23.06.23_Entity간의 연관 관계(2)

0개의 댓글

관련 채용 정보