JPA | @ManyToOne, @OneToMany 이해하기

728x90

JPA | @ManyToOne, @OneToMany 이해하기

은행 서비스에서 **사용자(User)**가 1개 이상의 계좌(Account)를 가질수 있다면 아래처럼 물리 테이블을 설계 할 것이다.

1) TABLE_USER 입장에서 보면 OneToMany이고 | (1: N) 관계

  • 하나의 User가 여러 Account를 가질 수 있다.

2) TABLE_ACCOUNT 입장에서 보면 ManyToOne이다. | (N:1) 관계


⬛ @OneToMany | 1: N관계

예를 들어, User 입장에서 여러 Account는 대상이 된다.

User클래스에 대상 Account id값만 집어넣어서 간접 참조하여 둘의 연관관게를 맺는다.

즉, 내가 1이고 대상이 N이라는 의미인데, 두 객체 간의 연관관계를 맺을 때, User 엔티티 입장에서 사용한다면 Account가 N인 대상이 될 것이다.

⬛ @ManyToOne | N:1 관계

이번에는 Account 입장에서 User가 대상이 되는데,

이번에는 Account 클래스에 대상인 User 엔티티를 직접 소유하게 만든다.

즉, 내가 N이고 대상이 1이라는 의미인데, 두 객체 간의 연관관계를 맺을 때, Account 입장에서 User가 1인 대상이 될 것이다.

728x90