- 요구사항 분석
- 회원은 상품을 주문할 수 있다.
- 주문 시 여러 종료의 상품을 선택할 수 있다.
- 기능 목록
- 회원 가능
- 회원등록
- 회원조회
- 상품 기능
- 상품등록
- 상품수정
- 상품조회
- 주문 기능
- 상품주문
- 주문내역조회
- 주문취소
- 도메인 모델 분석
- 회원과 주문의 관계 : 회원은 여러 번 주문할 수 있다. ( 일대다 )
- 주문과 상품의 관계
- 주문할 때 여러 상품을 선택할 수 있다.
- 반대로 같은 상품도 여러 번 주문될 수 있다.
- 주문 상품이라는 모델을 만들어서 다애다 관계를 일대다, 다대일 관계로 풀어낼 수 있다.
- 테이블 설계
- 엔티티 설계와 매핑
- 데이터중심 설계의 문제점
- 현재 방식은 객체 설계를 테이블 설계에 맞푼 방식
- 테이블의 외래키를 객체에 그대로 가져옴
- 객체 그래프 탐색이 불가능
- 참조가 없으므로 UML도 잘못됨
- 발생했던 이슈 및 궁금한 것들
1) DB생성
- DB생성 후 persistence.xml에 암호 지정
https://freewebdev.tistory.com/68
2) 최초 테이블 생성(hbm2ddl.auto = create)
<!--PC경로-->
<property name="javax.persistence.jdbc.url" value="jdbc:h2:~/jpashop"/>
<!--TCP 경로로 수정-->
<property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/jpashop"/>
3) Spring Boot Naming Strategies
- Java에서는 Camel Case로 사용하고, DB에서는 underscores, snake case로 사용할 경우 옵션을 통해서 자동으로 변환되도록 설정할 수 있다.
- Hiberbate는 물리적 전략과 암시적 전략을 사용하여 필드 이름을 매핑합니다.
https://www.baeldung.com/hibernate-field-naming-spring-boot
출처
https://www.inflearn.com/course/ORM-JPA-Basic/dashboard
'JPA 프로그래밍' 카테고리의 다른 글
[자바 ORM 표준 JPA 프로그래밍] 연관관계 매핑 기초 - 양방향 연관관계 와 연관관계의 주인( 2/3 ) (0) | 2021.07.07 |
---|---|
[자바 ORM 표준 JPA 프로그래밍] 연관관계 매핑 기초 - 단방향 연관관계 ( 1/3 ) (0) | 2021.07.05 |
[자바 ORM 표준 JPA 프로그래밍] 엔티티 매핑 - 필드와 컬럼 매핑, 기본키 매핑 ( 2/3 ) (0) | 2021.06.29 |
[자바 ORM 표준 JPA 프로그래밍] 엔티티 매핑 - 객체와 테이블 매핑, DB 스키마 자동 생성( 1/3 ) (0) | 2021.06.29 |
[자바 ORM 표준 JPA 프로그래밍] 영속성 관리 (0) | 2021.06.26 |