인프런 Spring 강의 정리/실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/df2il6/btsDLKLKMLc/T0qSpXVj26bmqCdbnHmxDk/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 요구사항 분석 📌 기능 목록 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 기타 요구사항 상품은 재고 관리가 필요하다. 상품의 종류는 도서, 음반, 영화가 있다. 상품을 카테고리로 구분할 수 있다. 상품 주문시 배송 정보를 입력할 수 있다. 📌 도메인 모델과 테이블 설계 ✔ 회원, 주문, 상품의 관계 회원은 여러 상품을 주문할 수 있다. 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계 다대다 관계는 관계형 데이터베이스는 물론이고 엔티티에서도 거의 사용하지 않음 주문상품이라는 엔티티를 추가해서 다대다 관계를 일대다, 다대일 관계로 풀어냄 ✔ 상품 분류 상품은 도서, 음반, 영화로 구분되는데 상품이라..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/Y0FNx/btsDTtB5Fw9/4HAW09GCxuQKI2FbJtpX1K/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 JPA란? JPA(Java Persistence API) JAVA 애플리케이션에서 객체와 관계형 데이터베이스 간의 데이터를 관리하고 조작하기 위한 자바 표준 스펙 객체 지향 프로그래밍과 데이터 베이스 간의 매핑을 통해 데이터베이스 작업을 간소화하고 생산성을 높이는 데 도움을 주는 기술 ⚡ Entity 데이터베이스 테이블과 매핑되는 자바 클래스 @Entity 애노테이션으로 표시하며, JPA는 해당 클래스를 데이터베이스 테이블과 연관시킴 ⚡ 기본 키(Primary Key) Entity 클래스의 필드 중 하나를 기본 키로 지정하여 각 레코드를 고유하게 식별 @Id 애노테이션을 사용하여 Entity 클래스의 기본 키 필드를 정의 ⚡ 영속성 컨텍스트 (Persistence Context) Entity 인스턴스..