GitHub

https://github.com/Choidongjun0830

JPA 3

[Spring boot& JPA 1] 도메인 분석 설계

도메인 모델과 테이블 설계회원, 주문, 상품의 관계회원은 여러 상품을 주문 가능하고, 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계이다. 하지만, 다대다 관계는 거의 사용하지 않아서 주문 상품이라는 엔티티를 추가해서 다대다 관계를 일대다, 다대일 관계로 풀어낸다.회원 엔티티 분석Member이름과 임베디드 타입인 Address, 주문을 리스트로 가진다.Order한 번 주문시 여러 Item을 담을 수 있어서 주문(Order)과 주문 상품(OrderItem)은 일대다 관계를 가진다.상품을 주문한 회원, 배송 정보, 주문 날짜, 주문 상태를 가짐.주문 상태는 열거형으로 ORDER, CANCEL을 표현할 수 있음.OrderItem주문한 상품 정보와 주문 금액과 주문 수량을 가지고 있..

Spring 2024.04.28

[Spring DB2] 데이터 접근 기술 - JPA

JPA는 ORM 데이터 접근 기술을 제공한다. JdbcTemplate이나 MyBatis같은 SQL 매퍼 기술은 개발자가 SQL을 직접 작성해야 하지만, JPA는 SQL도 JPA가 대신 작성해주고, 처리해준다. ORM 개념 SQL 중심적인 개발의 문제 무한 반복하는 select, update, insert, ... 코드를 계속해서 작성해야한다. 만약 필드가 추가되면 모든 쿼리들을 수정해야하는 번거로움이 있다. 객체를 관계형 데이터베이스에 저장하려면 객체를 SQL로 변환해서 데이터베이스에 조회하거나 넣어야 한다. 그런데 객체를 SQL로 변환하는 것은 개발자가 하는 것이다. 또, 객체에는 상속이 있지만, 관계형 데이터베이스에는 상속이 없다. 그래서 조회할 때는 두 테이블을 조인해야하고, 넣을 때는 데이터를 분..

Spring 2024.03.19
728x90