#1 JPA 실무 - 요구사항 분석 및 도메인 모델 설계
Published on 10 Jun 2020
JPA 강의 내용
도메인 분석 설계
순서
- 요구 사항 분석
- 도메인 모델과 테이블 설계
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 자동 생성해주는걸 그대로 사용하지는 말자. 스크립트를 작성하는데 도움을 받는 정도로만 사용