728x90
반응형

JPA 23

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #7 웹 계층 개발(4) 변경 감지와 병합(merge)

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 웹 계층 개발 1. 홈 화면과 레이아웃 2. 회원 등록 3. 회원 목록 조회 4. 상품 등록 5. 상품 목록 6. 상품 수정 7. 변경 감지와 병합(merge) 8. 상품 주문 9. 주문 목록으로 검색, 취소 10. 다음으로 7. 변경 감지와 병합(merge) 참고: 정말 중요한 내용이니 꼭! 완벽하게 이해하기 준영속 엔티티? 영속성 컨텍스트가 더는 관리하지 않는 엔티티를 말한다(JPA 영속성 컨텍스트가 더이상 관리하지 않는 엔티티). ex) item 수정 시 이미 한 번 DB에 저장이 되어서 불러온.. @PostMapping("items/{itemId}/e..

카테고리 없음 2023.11.13

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #7 웹 계층 개발(3)

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 웹 계층 개발 1. 홈 화면과 레이아웃 2. 회원 등록 3. 회원 목록 조회 4. 상품 등록 5. 상품 목록 6. 상품 수정 7. 변경 감지와 병합(merge) 8. 상품 주문 9. 주문 목록으로 검색, 취소 10. 다음으로 6. 상품 수정 상품 수정 컨트롤러 ItemUpdateController @GetMapping("items/{itemId}/edit") public String updateItemForm(@PathVariable("itemId") Long itemId, Model model) { Book item = (Book) itemService.f..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #6 주문 도메인 개발(2)

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 주문 도메인 개발 1. 주문, 주문상품 엔티티 개발 2. 주문 리포지토리 개발 3. 주문 서비스 개발 4. 주문 기능 테스트 5. 주문 검색 기능 개발 4. 주문 기능 테스트 테스트 요구사항 상품 주문이 성공해야 한다. 상품을 주문할 때 재고 수량을 초과하면 안 된다. 주문 취소가 성공해야 한다. 상품 주문 테스트 코드 package jpabook.jpashop.service; // import static org.junit.Assert.*; import jpabook.jpashop.domain.Address; import jpabook.jpashop.doma..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #2-5 엔티티 설계시 주의점

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 도메인 분석 설계 1. 요구사항 분석 2. 도메인 모델과 테이블 설계 3. 엔티티 클래스 개발1 4. 엔티티 클래스 개발2 5. 엔티티 설계시 주의점 5. 엔티티 설계시 주의점 1) 엔티티에는 가급적 Setter를 사용하지 말자 - Setter가 모두 열려있으면 변경 포인트가 너무 많아서 어디서 어떻게 수정이 되었는지 알기 힘들고 유지보수가 어려움 - 예제에서는 Setter를 열어둠(실무에서는 가급적이면 X) 2) 모든 연관관계는 지연로딩(LAZY)으로 설정하자 - 즉시로딩(EAGER) : member를 조회할 때 연관된 order를 모두 조회하겠다는 것(연관..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #2-3 엔티티 클래스 개발1

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 도메인 분석 설계 1. 요구사항 분석 2. 도메인 모델과 테이블 설계 3. 엔티티 클래스 개발1 4. 엔티티 클래스 개발2 5. 엔티티 설계시 주의점 3. 엔티티 클래스 개발 1 - 실무에서는 가급적 Getter는 열어두고, Setter는 꼭 필요한 경우에만 사용하기 class, enum package jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List;..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #1-5 JPA와 DB 설정, 동작확인

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 프로젝트 환경설정 1. 프로젝트 생성 2. 라이브러리 살펴보기 3. View 환경설정 4. H2 데이터베이스 설치 5. JPA와 DB 설정, 동작 확인 5. JPA와 DB 설정, 동작 확인 1. application.yml 파일 만들기(기존 application.properties는 삭제) - yml 파일이 라이브러리가 늘어나고 했을 때 더 깔끔하다 생각하신다고! spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop; # MVCC=TRUE 여러개 한번에 접근했을 때 좀 더 빠르게 처리되므로 권장 -> 더이상 ..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #1-4 H2 데이터베이스 설치

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 프로젝트 환경설정 1. 프로젝트 생성 2. 라이브러리 살펴보기 3. View 환경설정 4. H2 데이터베이스 설치 5. JPA와 DB 설정, 동작 확인 4. H2 데이터베이스 설치 H2 데이터베이스 - 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 1) 다운로드 및 설치 - 접속 : https://www.h2database.com/ H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is f..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #1-3 View 환경 설정

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 프로젝트 환경설정 1. 프로젝트 생성 2. 라이브러리 살펴보기 3. View 환경설정 4. H2 데이터베이스 설치 5. JPA와 DB 설정, 동작 확인 3. View 환경 설정 1) 메뉴얼 thymeleaf 템플릿 엔진 공식 홈페이지 : https://www.thymeleaf.org/ Thymeleaf Integrations galore Eclipse, IntelliJ IDEA, Spring, Play, even the up-and-coming Model-View-Controller API for Java EE 8. Write Thymeleaf in your ..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #1-2 라이브러리 살펴보기

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. | 프로젝트 환경설정 1. 프로젝트 생성 2. 라이브러리 살펴보기 3. View 환경설정 4. H2 데이터베이스 설치 5. JPA와 DB 설정, 동작 확인 2. 라이브러리 살펴보기 gradle 의존관계 살펴보기 data jpa 추가하고 등등 했는데.. 어디까지 당겨오는지 알 수 있는 방법 terminal에서 해당 프로젝트의 경로까지 진입 ./gradlew dependencies -> 이렇게 하면 의존 관계를 쭉쭉 적어 주는데 너무 많으니까 접어 둠 더보기 Welcome to Gradle 8.3! Here are the highlights of this releas..

[스프링부트] 실전! 스프링 부트와 JPA 활용1 #0 강좌 소개

※ 본 포스팅은 김영한 강사님의 인프런 '실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발' 강의를 들으며 작성한 수강일지 입니다. 1. 강좌 소개 - 스프링 부트 : 복잡하고 어려운 스프링 기술을 간결하고 쉽게 사용할 수 있도록 도와주는 기술 + - JPA : 강력한 Java ORM 표준 기술 = 이 두 기술을 합쳐 높은 개발 생산성을 유지하면서 빠르게 웹 어플리케이션을 개발할 수 있다 ■ 1편 : 웹 애플리케이션 개발 프로젝트 환경설정 Spring Boot, JPA, Hibernate, Gradle, Tomcat, Thymeleaf 요구사항 분석 회원, 상품, 주문 도메인의 요구사항 간략히 분석 도메인과 테이블 설계 위 분석을 바탕으로 도메인 모델 설계, 엔티티 설계, 테이블 설계 마지막으..

728x90
반응형