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
'Web(웹)_관련 공부 모음' 카테고리의 다른 글
[해결] java.lang.IllegalArgumentException: null (0) | 2023.07.25 |
---|---|
개념 | 트랜잭션 적용과 영속성 컨텍스트 (0) | 2023.07.24 |
개념 | 트랜잭션 (Transaction)의 개념, commit과 rollback (0) | 2023.07.24 |
개념 | SQL 직접 사용하는 것의 문제, 그 해결책인 JPA (0) | 2023.07.21 |
개념 | 스프링 컨테이너와 스프링 빈 (0) | 2023.07.18 |