본문 바로가기

manytoone4

JPA - 다양한 연관관계 - 요구사항 분석과 맵핑 2 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 실전 예제 이전 글 JPA - 엔티티 맵핑 - 요구사항 분석과 맵핑 에 이어서 요구사항 분석을 통해 1 : 1 및 M : N 연관관계 맵핑을 적용해보자. 추가된 요구사항은 아래와 같다. 상품을 주문할 때 배송정보를 입력할 수 있다. 하나의 주문에서는 하나의 배송지로만 배송할 수 있다. 상품을 카테고리로 구분할 수 있다. 아래 다이어그램은 위의 요구사항을 반영하여 UML 을 다시 그린것이다. 이전 UML 과 비교해서 Delivery 와 Category 클래스가 추가되었다. 먼저 Order 와 Delivery 를 살펴보자. 하나의 주문시 하나의 배송지에만 배송할 수 있으므로 둘은 1 대 1 관계이다. 또 주문에서만 배송지 정보를 참조하는게 아니라 배송지 정보.. 2021. 7. 10.
JPA - 다양한 연관관계 - N : 1 과 1 : N - 참조: 자바 ORM 표준 JPA 프로그래밍 - 다양한 연관관계 앞에서 몇 가지 예제를 통해 연관관계를 작성해보았다. JPA 에 익숙하지 않다면 JPA를 사용하여 연관관계 코드를 작성하는게 헷갈릴 수 있다. 이때에는 연관관계 맵핑시 고려할 사항을 순차적으로 정해놓고 천천히 생각해보면 좀 더 수월하다. 다중성: N : 1 인지 1 : N 인지에 따라 @ManyToOne, @OneToMany 어떤 다중성 어노테이션을 사용할 지 정한다. 단방향, 양방향: 하나의 엔티티가 다른 엔티티를 참조하는지 서로 참조하는지를 정한다. 연관관계의 주인, 연관관계 편의메소드: 양방향이라면 두 엔티티중 외래키를 관리할 연관관계의 주인과 연관관계 편의메소드 작성을 고려한다. - N : 1 단방향 회원 엔티티와 팀 엔티티가 있다.. 2021. 7. 3.
JPA - 연관관계 맵핑 - 연관관계 맵핑 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 외래키에서 참조로의 변환 지난번 요구사항을 Entity 로 변환하는 과정에서 아래 다이어그램과 같이 속성으로 외래키를 그대로 냅두었었다. 연관관계 맵핑을 배웠으니 이 외래키들을 참조로 변환할 수 있다. 연관관계를 더 명확히 보기 위해서 해당 필드에도 다중성을 표시하였다. 아래 설명은 위의 다이어그램에서 클래스간의 관계를 파악한것이다. Member - Order: 멤버는 주문을 1건도 하지 않을 수도, 여러건을 할 수도 있다. 1 : N 의 관계이다. Member 와 Order 는 서로간을 참조하는 양방향 연관관계이다. 외래키는 Order 에서 MEMBER_ID 를 가져야 한다. 앞에서 설명했듯이 Member : Order = 1 : N 이므로 N 쪽에서 .. 2021. 7. 2.
JPA - 연관관계 맵핑 - 단방향 연관 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 연관관계 대부분의 엔티티들은 다른 엔티티와 관계가 있다. 주문은 상품과, 상품은 카테고리등 다른 엔티티와 관계를 갖는다. JPA 를 사용시 관계설정의 핵심은 객체 와 DB 가 다른 엔티티들과 관계를 맺을 때 연관방식이 다른다는데에 있다. DB 에서 다른 엔티티를 참조할 때 외래키를 사용하는데 JPA 를 이용하여 어플리케이션에서 어떻게 나타낼지 알아보자. 본격적으로 알아보기전 연관과 관련된 핵심 키워드를 알아본다. 방향: 단방향과 양방향이 있다. 만약 멤버가 주문을 참조하기만 하면 단방향이며, 만약 주문도 멤버를 참조한다면 양방향 관계이다. 다중성: 1:1, 1:N, N:1, M:N 관계를 나타낸다. 만약 어플리케이션에서 "회원은 여러 주문을 할 수 있으며.. 2021. 6. 30.