[자바 ORM 표준 JPA 프로그래밍 - 기본편] 실전 예제 1-요구사항 분석과 기본 매핑

이재표·2023년 9월 22일
0

요구사항 분석과 기본 매핑

요구사항 분석

  • 회원은 상품을 주문할 수 있다.
  • 주문 시 여러 종류의 상품을 선택할 수 있다.

도메인 모델 분석

  • 회원과 주문의 관계 : 회원은 여러번 주문할 수 있다.(일대다)
  • 주문과 상품의 관계 : 주문할 때 여러 상품을 선택할 수 있다. 반대로 같은 상품도 여러 번 주문될 수 있다. 주문상품 이라는 모델을 만들어서 다대다 관계를 일대다, 다대일 관계로 풀어냄

테이블 설계

엔티티 설계와 매핑

테이블이랑 똑같이 설계한것

자바는 카멜, DB는 언더스코어로 네이밍 때문에 @Column로 관례에 따라 설정하기

스프링 부트에서는 자바의 카멜케이스를 언더스코어로 자동으로 수정해서 DB로 보냄

객체를 관계형DB에 맞출경우

객체내의 연관된 다른객체를 가져오기위해 다른 객체의 id를 통해 다시 조회해야함

Order order = em.find(Order.class,1L);
Long memberId = order.getMemberId();
Member member = em.find(Member.class,memberId);

객체는 참조를 통해 진행되어야한다.

Order order = em.find(Order.class,1L);
Member member = order.getMember();

이러한 이유때문에 연관관계 매핑이 필요하다!!!

0개의 댓글