Avatar 창조적이고 생산적이고 싶은 개발자

#1 JPA 실무 - 요구사항 분석 및 도메인 모델 설계

JPA 강의 내용

도메인 분석 설계

순서

  1. 요구 사항 분석
  2. 도메인 모델과 테이블 설계

1. 요구사항 분석

2. 도메인 모델과 테이블 설계

  • ManyToMany 관계는 되도록 OneToMany + ManyToOne으로 풀어서 설계한다.
  • Value Type을 이용해서 Embedded type을 최대한 사용
  • 가급적이면 양방향 연관관계를 사용하지 않고 단방향으로 설계할 것
  • 연관관계 주인은 외래키가 존재하는 곳에 설계

3. 클래스 작성

  • Embedded와 Embedable은 둘 중에 하나만 작성해도 되지만 관례적으로 양쪽 다 해줌
  • enum클래스의 경우 Enumerated 어노테이션을 꼭 붙이고 EnumType.STRING으로 지정해줄 것(default가 ordinal임…)
  • OneToOne관계에서는 자주 조회하는 곳에 FK를 두는게 더 효과적(Order를 검색한는 일이 더 잦지 Delivery만 단독으로 검색 할 일은 많이 없음)
  • ManyToMany의 경우 다른 필드는 없이 FK만 가지므로 실용성이 없음. OneToMany + ManyToOne으로 변경해야함.
  • DDL 자동 생성해주는걸 그대로 사용하지는 말자. 스크립트를 작성하는데 도움을 받는 정도로만 사용