본문 바로가기

JPA76

어플리케이션 구조, 기능 회원 기능 : 회원 등록, 회원 조회 상품 기능 : 상품 등록, 상품 수정, 상품 조회 주문 기능 : 상품 주문, 주문 내역, 조회 주문 취소 아래와 같은 계층으로 애플리케이션을 만듭니다. controller, web: 웹 계층 service: 비즈니스 로직, 트랜잭션 처리 repository: JPA를 직접 사용하는 계층, 엔티티 매니저 사용 domain: 엔티티가 모여 있는 계층, 모든 계층에서 사용 2021. 7. 28.
엔티티설계하기 (+엔티티 설계시 주의점) 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 다음과 같은 모델에 따라 엔티티를 설계합니다. 회원 엔티티 분석 회원(Member): 이름과 임베디드 타입인 주소( Address ), 그리고 주문( orders ) 리스트를 가집니다. 주문(Order): 한 번 주문시 여러 상품을 주문할 수 있으므로 주문과 주문상품( OrderItem )은 일대다 관계입니다. 주문은 상품을 주문한 회원과 배송 정보, 주문 날짜, 주문 상태( status )를 가지고 있습니다. 주문 상태는 enum타입을 사용했는데 주문( ORDER ), 취소( CANCEL )을 표현할 수 있습니다. 주문상품(Order.. 2021. 7. 27.
프로젝트 만들고 설정하기 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C start.spring.io에서 스프링 부트 버전: 2.5.3 (스냅샷 버전 제외하고 아무거나 무관) 그래들 + jar + 자바11 Dependencies : lombok, spring web, data jpa, thymeleaf, h2 위를 바탕으로 생성하였습니다. 그리고 application.yml을 resources아래에 만들고, application.properties는 삭제합니다. (설정파일을 propertiest가 아닌 yml사용) application.yml • spring.jpa.hibernate.ddl-auto: cre.. 2021. 7. 25.
JPQL -벌크연산 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C JPQL - 벌크 연산 • 많은 양의 데이터를 대상으로 update, delete를 하는 연산입니다. EX) 재고가 10개 미만인 모든 상품의 가격을 10% 상승하려면? • JPA 변경감지 기능으로 실행하려면 너무 많은 SQL 실행 1. 재고가 10개 미만인 상품을 리스트로 조회한다. 2. 상품 엔티티의 가격을 10% 증가한다. 3. 트랜잭션 커밋 시점에 변경감지가 동작한다. 변경된 데이터가 100건이라면 100번의 UPDATE SQL 실행 ---> 데이터가 많을 수록 상당히 비효울적이다. 하여 한방에 100개의 데이터를 update해.. 2021. 7. 24.