묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
일대다 다대일 양방향 연관관계 질문
양방향 연관관계 관련하여 질문드립니다. 강의를 들은 정보를 바탕으로 복습중인데, 이해안되는 부분이 있습니다 ㅠ 일대다 다대일 양방향 연관관계에서 다음과 같이 설정했습니다. 게시글(1) - 게시글 사진(다) 서비스단의 트랜잭션 안에서 게시글을 생성하여 저장[save(게시글)]하고, 사진 리스트를 생성해서 각 사진들에 set(게시글)을 해주었습니다. 여기서, 연관관계의 주인은 다쪽인 사진이므로 사진을 저장[save(사진)]해줘야하는 것 아닌가요?? 저는 해주지 않고 사진.set(게시글), 게시글.get사진List().add(사진) 만 해주었는데 insert쿼리가 나가는 것이 이해가 안되어 질문드립니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
영속성 컨텍스트 관련 질문
안녕하세요! 영한님 먼저 양질의 강의를 제공해주셔서 감사의 말씀 드립니다. 갑자기 영속성 컨텍스트에 대한 개념이 헷갈려서 질문드립니다. 😭 만약에 order테이블에서 member의 id가 동일한 경우 ordersV2()를 사용하면 쿼리가 총 4번 나가는데 이때 영속성 컨텍스트에서 관리되어(1차 캐시에서 조회하기 때문으로 이해했습니다.) 기존에 있는 것을 가져온다고 말씀하셨습니다. 그런데 @Transactional 안에서 DB를 조회해야 영속성 컨텍스트에서 관리되는 것 아닌가요? 🤔 감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
질문드립니다
항상 친절한 강의와 답변 모두 감사드립니다! 강의듣다가 두 가지 질문이있는데요. MemberService.update Method 에서 return 값으로 Member를 넘기게 되면 영속성이 끊긴다고 하셨는데 그러면 Controller 쪽에서 Member updateMember = memberService.update(id, name); 라고 하면 이 updateMember 는 준영속 상태인가요 ? 그리고 일단 기본적으로 독립된 트랜잭션마다 각각 다른 영속성 컨텍스트가 생성되는 게 맞죠? (OSIV 는 추후 듣도록 하겠습니다!)
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
강의 이후 코드를 살펴보다 궁금한 점이 있습니다.
안녕하세요, 강의 이후 작성된 코드를 돌려보다 궁금한 점이 있어 질문드립니다. 현재 이 강의만 따라왔을때, 실제로 주문을 한 뒤에 member, order, item, order_item 테이블에 데이터가 입력되도록 하려면 4개의 엔티티를 모두 객체 생성한 뒤에 영속화를 하는게 맞는지, 혹은 제가 강의의 양방향 연관관계를 잘 이해하지 못한것인지 궁금합니다. 메인메서드에 작성한 코드는 다음과 같습니다. addOrderItem 메서드는 다음과 같습니다. 현재 강의 내용만으로 봤을때, 4개의 엔티티를 모두 직접 객체 생성 후 영속화를 해야만 데이터가 제대로 들어가는게 맞는지 리뷰 한번해주시면 감사하겠습니다 :)
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
FK, 인덱스 비교 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]엔티티 클래스 개발2에서 FK 관련 질문입니다! FK를 안걸고 인덱스를 거는 방식도 있고 시스템마다 다르다고 하셨는데, Id값은 똑같이 가지고 있고 거기에 인덱스를 거는 것인가요? 그리고 이렇게 하면 속도가 왜 더 빨라지는 것인가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA Persist 및 Commit 시 SQL 시점에 대한 질문
안녕하세요 강사님! 강의 너무 잘 수강하고 있는 학생입니다! 다름이 아니라 영속성 컨텍스트를 활용하여 em.persist(), tx.commit() 을 함에 따라 SQL 이 뿌려지는 시점 설명해주실 때 궁금증이 생겨서요! 우선 코드를 보시면 // 비영속JpaMember memberA = new JpaMember();memberA.setName("얄리얄라");JpaMember memberB = new JpaMember();memberA.setName("두둥실");// 영속화. 영컨에 등록 em.persist(memberA);em.persist(memberB);System.out.println("=================== before commit");memberA.setName("조지밀러"); trans.commit();System.out.println("=================== after commit"); 위와 같은 코드를 진행하였을 시, ㅁㄴ다음과 같이 출력되고, SQL이 나가는 모습이 확인됩니다. =================== before commit Hibernate: /* insert jpa.demo.domain.JpaMember */ insert into jpa_member (name, id) values (?, ?) Hibernate: /* insert jpa.demo.domain.JpaMember */ insert into jpa_member (name, id) values (?, ?) Hibernate: /* update jpa.demo.domain.JpaMember */ update jpa_member set name=? where id=? =================== after commit 의문이 드는점은, 1. Insert SQL 이 쌓였다가 나간다고 말씀하셨는데 두개가 나가는 것 같아서요! 제가 SQL을 잘 몰라서 부정확할 수도 있는 것 같은데 왜 두 번 나가게 되는지 궁금합니다! 2. 또한 Persist 를 하는 시점에 아직 insert 문이 나가지 않았다면 DB에 따로 등록이 안되어 있는걸로 생각했습니다. 그렇다면 commit 하기 전 시점에 entity 값을 set 함수를 통해 변경하여 1차 캐시가 더티 체크를 통해 변경을 감지하면, 그냥 그 1차 캐시 내부에 있는 데이터만 바꿔주면 되는 것... 아닌가요..?! DB에 insert 문이 아직 나가지 않았는데 굳이 insert 문도 보낸 이후 update 문까지 내보내면서 수정이 진행되는 이유가 궁금합니다!! 강사님 강의 너무 잘 듣고 있습니다. 감사합니다!
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Entity를 DTO로 변환시키기
김영한님 JPA 강의를 듣다가 1장 마지막 부분 쯤에 Entity를 그대로 사용하지 말고 데이터를 전송할 때에는 DTO를 이용하라고 하셨는데, 테이블 끼리 연관관계가 많은 것들은 어떻게 변환시키나요? 가장 궁금한게 A에 List<B>,List<C>,List<D> 객체를 가지고 있는데 A의 DTO를 만든다고 한다면 B,C,D를 각자 또 BDTO,CDTO,DDTO 로 옮기고 나서 ADTO에 담는건가요?? MapStruct를 사용하려고 하는데, 혹시 Entity를 DTO로 변환하는 좋은 방법이 있는지 궁금합니다!
-
해결됨호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
이 강의에서 말한 더 고치고싶은 부분이 궁금합니다.
말씀하신 더 고치고 싶은 부분을 얘기해주면 어떻게 고칠 수 있을지 고민해볼 수 있을 것 같습니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
JPA 기반으로 프로젝트 수행시 도메인 entity 관리
안녕하세요. 영한님 강의를 잘 듣고 있습니다. 좋은 강의 감사드립니다. 제 질문은 지금 하고 있는 프로젝트가 JPA기반이고, 프로젝트 구조는 아래와 같고, 같은 DB를 바라보고 있습니다 1. 대고객용 백앤드 프로젝트(메인) 2. 위의 프로젝트를 관리하는 admin 프로젝트 3. 통계 관리 프로젝트 위의 프로젝트들은 거의 비슷한 도메인 Entity를 가지고 있습니다. 궁금한건 프로젝트를 진행하면서 DB가 자주 변경됩니다(테이블 추가, 컬럼 추가 삭제 변경등) 그런데 이렇게 되니까 위의 3개 프로젝트에 있는 도메인 entity 를 동시에 다 바꿔주지 않으면 에러가 나는 경우가 있습니다. 지금은 변경이 있는 경우에는 한번에 적용되도록 한사람이 관리 하고 있는데, 이걸 좀 더 효율적으로 할 수 있는 방법이 있는지 궁금합니다. 혹시 여러 프로젝트에서 동일한 Entity를 사용할때 잘 관리할 수 있는 실무팁이 있을까요? 비슷한 케이스로, 공통코드 테이블 대신 자바 enum을 적극 활용하는 중인데 이런 경우에도 추가,수정, 삭제시 관련된 모든 프로젝트에 동기화가 필요합니다. 사람이 잘 관리하는게 맞는건지, 아니면 뭔가 시스템적으로 좀더 잘 관리할 수 있는 좋은 팁이 있을까요? 감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
해당 예제에서 Book 의 모든 필드를 바꾸고자 할 때
안녕하세요 해당 수업에서 만약 Book 의 모든 필드를 변경하고자 한다면 실제 실무에서는 어떻게 사용하면 좋을까 하면서 만들어 보았는데, 틀린 부분이나 고쳐야할 부분이 있다면 말씀해주실 수 있을까요 ? 작은 부분이라도 조언 해주시면 감사하겠습니다! 1. DTO @Getter @Setterpublic class UpdateBookDto { private String name; private int price; private int stockQuantity; private String author; private String isbn; public static UpdateBookDto updateBookAll( String name, int price, int stockQuantity, String author, String isbn) { UpdateBookDto bookDto = new UpdateBookDto(); bookDto.name = name; bookDto.price = price; bookDto.stockQuantity = stockQuantity; bookDto.author = author; bookDto.isbn = isbn; return bookDto; }} 2. Controller public class ItemController { @PostMapping("/{itemId}/edit") public String updateItem(@PathVariable String itemId, @ModelAttribute("form") BookForm form) { UpdateBookDto bookDto = UpdateBookDto.updateBookAll( form.getName(), form.getPrice(), form.getStockQuantity(), form.getAuthor(), form.getIsbn() ); itemService.updateItem(form.getId(), bookDto); return "redirect:/items"; }} 3. Service public class ItemService { @Transactional public void updateItem(Long itemId, UpdateBookDto dto) { Book findBook = (Book) itemRepository.findOne(itemId); findBook.changeBook( dto.getName(), dto.getPrice(), dto.getStockQuantity(), dto.getAuthor(), dto.getIsbn() ); }} 4. Book public class Book extends Item { public void changeBook(String name, int price, int stockQuantity, String author, String isbn) { super.changeItem(name, price, stockQuantity); this.author = author; this.isbn = isbn; }}
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
몇가지 궁금한점에 대해 질문합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 1. 2. 사진첨부해드리고 말씀드리겠습니다 1) member객체를 인스턴스하고, em.persist(member)를 할 시점에서 List<Order>에 여러 order객체들이 있을경우 같이 저장하기위해 CASCADE를 ALL로 지정한게 맞는지 궁금합니다. 2) 위의 내용이 맞을 때, 밑에 내용에서 createOrder 메소드 for문 안에서 order.addOrderItem(orderItem)를 하고나서 order를 persist 할경우, 여러개의 orderItem이 같이 저장되기위해서 해당 Order 엔티티안에 orderItems 리스트객체를 cascade cascadeType.All선언해야하는데, OrderItem이 Item과 연관관계가 있어서 cascade all를 선언 안하는게 맞는지 궁금합니다. 만약 그게 맞다면 caseCade.All를 선언 안하면 order 객체을 persist 할 시점에 List<orderItem>들을 같이 저장이 안되는걸로 알고 있습니다. 그렇다면 order 엔티티 안에 createOrder 메소드로 반환값 받는 order에 있는 OrderItems 리스트 객체를 for문으로 돌려서 각각의 OrderItem객체를 persist 하여 order값도 같이 persist 시키는게 맞는건지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
양방향 연관 관계에서의 setter 사용
안녕하세요. 도메인 내에서 비즈니스 로직을 작성하는 것이 객체지향적이다 라는 말씀을 듣고 생각해보다가, 양방향 연관 관계 편의 메서드에서의 setter 사용이 생각났습니다. public class Order { public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this); }} 이와 같이 양방향 연관 관계에서는 한쪽에 setter 함수가 불가필 할듯 한데, setter 함수를 무조건적으로 사용하면 안되는 것은 아니고 지양한다는 정도로만 받아들여도 될까요 ? 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
jpa 실무 활용하려면 알아야 되는 스펙 범위
jpa 1,2 spring data jpa jpql 디비 연결 다 알아야 되나요? 그리고 코프링 + jpa 가 향후 5년내 떠오를 스펙인지도 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
DTO와 엔티티의 변환 작업은 어느 계층에서 하는게 좋은지에 대해 질문드립니다.
DTO 객체에서 엔티티로 또는 엔티티에서 DTO로 변환하는 작업은 컨트롤러에서 해야할까요? 아니면 서비스 단에서 해야할까요? 어느 계층에서 하는게 좋나요?
-
미해결실전! 스프링 데이터 JPA
영속성 컨텍스트에 대해 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 제가 아직 실무로 JPA를 사용해본적은 없어서 공부만하고 있는데요. 생각해보니까 실무에선 서버가 여러대일 수 있어서 영속성 컨텍스트간의 동기화가 이슈가 될 수 있을것 같은데 이런 부분은 어떻게 해결하나요?동기화나 동시성 등 검색해봤는데 잘 모르겠어서요ㅜ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강사님께서 사용하시는 ERD 그리기 툴이 있을까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 일부 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 스프링 부트와 JPA 활용 강의를 듣고 토이프로젝트를 진행하려고 하는데, entity relation diagram을 간단하게 그릴 툴이 뭐가 있을까 싶어서 질문 남깁니다. Draw.io나 erdcloud 등의 사이트를 봤지만 초심자가 무턱대고 접하기엔 생각보다 벽이 있어서, 강사님께서 직접 사용하시는 툴은 어떤 것인지 궁금해 질문합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
intellij 의 thymeleaf 인식오류 인가요?
일단 상품등록하는데 문제는 없습니다. 위와 연결된 Controller에 매핑과 BookForm 설정 똑같이 했는데 강의에 영한님이 한것처럼 html에서 th:object="${form}" 나 th:field="*{name}" 을 command+click 으로 연결된곳으로 갈수도 없고 Cannot resolve 'form' 오류 뜨면서 빨간줄 그어지는데 해결할수 있는 방법있을까요? 저도 그 편한 기능 쓰고 싶습니다 진짜루 ..ㅠㅠ 인텔리제이는 IntelliJ IDEA 2022.1.2 (Ultimate Edition) 쓰고 있습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품등록후 에러
상품 등록 후 DB에서 조회는 됩니다만 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Sun Jun 05 12:22:37 KST 2022 There was an unexpected error (type=Not Found, status=404). No message available 이 페이지가 뜨네요. 관련 코드 및 콘솔 창 같이 올리겠습니다. package jpabook.jpashop.controller;import lombok.Getter;import lombok.Setter;@Getter @Setterpublic class BookForm { private Long id; private String name; private int price; private int stockQuantity; private String author; private String isbn;} package jpabook.jpashop.controller;import jpabook.jpashop.domain.item.Book;import jpabook.jpashop.service.ItemService;import lombok.RequiredArgsConstructor;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PostMapping;@Controller@RequiredArgsConstructorpublic class ItemController { private final ItemService itemService; @GetMapping("/items/new") public String createForm(Model model) { model.addAttribute("form", new BookForm()); return "items/createItemForm"; } @PostMapping("/items/new") public String create(BookForm form) { Book book = new Book(); book.setName(form.getName()); book.setPrice(form.getPrice()); book.setStockQuantity(form.getStockQuantity()); book.setAuthor(form.getAuthor()); book.setIsbn(form.getIsbn()); itemService.saveItem(book); return "redirect:/items"; }} <!DOCTYPE HTML><html xmlns:th="http://www.thymeleaf.org"><head th:replace="fragments/header :: header" /><body><div class="container"> <div th:replace="fragments/bodyHeader :: bodyHeader"/> <form th:action="@{/items/new}" th:object="${form}" method="post"> <div class="form-group"> <label th:for="name">상품명</label> <input type="text" th:field="*{name}" class="form-control" placeholder="이름을 입력하세요"> </div> <div class="form-group"> <label th:for="price">가격</label> <input type="number" th:field="*{price}" class="form-control" placeholder="가격을 입력하세요"> </div> <div class="form-group"> <label th:for="stockQuantity">수량</label> <input type="number" th:field="*{stockQuantity}" class="form-control" placeholder="수량을 입력하세요"> </div> <div class="form-group"> <label th:for="author">저자</label> <input type="text" th:field="*{author}" class="form-control" placeholder="저자를 입력하세요"> </div> <div class="form-group"> <label th:for="isbn">ISBN</label> <input type="text" th:field="*{isbn}" class="form-control" placeholder="ISBN을 입력하세요"> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> <br/> <div th:replace="fragments/footer :: footer" /></div> <!-- /container --></body></html> "C:\Program Files\Java\jdk-11.0.14\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.1\lib\idea_rt.jar=62986:C:\Program Files\JetBrains\IntelliJ IDEA 2022.1\bin" -Dfile.encoding=UTF-8 -classpath C:\java\study\jpashop\out\production\classes;C:\java\study\jpashop\out\production\resources;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.projectlombok\lombok\1.18.24\13a394eed5c4f9efb2a6d956e2086f1d81e857d9\lombok-1.18.24.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-data-jpa\2.7.0\773d8c4fbe92493655f4c7db3a2d95388b8f6eb8\spring-boot-starter-data-jpa-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-thymeleaf\2.7.0\e706ed79c9b8066fd0894d44b23d9a1b00417ac7\spring-boot-starter-thymeleaf-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-validation\2.7.0\1a7d12c3b10ec1c30ca3a6eb38d550f4a3876b31\spring-boot-starter-validation-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\2.7.0\7bf2381d030023970b5375c1090545e480467aa1\spring-boot-starter-web-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-devtools\2.7.0\2a45b04877bbfe9750e4d29f6a73f125e146513d\spring-boot-devtools-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.github.gavlyukovskiy\p6spy-spring-boot-starter\1.5.6\495579c7fb01b005f19ec4d5188245c66de0937b\p6spy-spring-boot-starter-1.5.6.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-aop\2.7.0\49f204ec9672800932f8f7b344221251b1422da6\spring-boot-starter-aop-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-jdbc\2.7.0\dd69f21efd63a2a16d631210b5656dc30348451b\spring-boot-starter-jdbc-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\jakarta.transaction\jakarta.transaction-api\1.3.3\c4179d48720a1e87202115fbed6089bdc4195405\jakarta.transaction-api-1.3.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\jakarta.persistence\jakarta.persistence-api\2.2.3\8f6ea5daedc614f07a3654a455660145286f024e\jakarta.persistence-api-2.2.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.hibernate\hibernate-core\5.6.9.Final\8ec2c7b13de2fbcb19feddfb3a30932bb6a8228a\hibernate-core-5.6.9.Final.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-jpa\2.7.0\f82986cdf2beda49b0bbb28a880ca644a1eb6c42\spring-data-jpa-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aspects\5.3.20\161a2ccb1d68aed17922981909081bd6d1e46628\spring-aspects-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\2.7.0\64fd3c21486dd20df9a62566599337dae2eb62cc\spring-boot-starter-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf-spring5\3.0.15.RELEASE\7170e1bcd1588d38c139f7048ebcc262676441c3\thymeleaf-spring5-3.0.15.RELEASE.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.thymeleaf.extras\thymeleaf-extras-java8time\3.0.4.RELEASE\36e7175ddce36c486fff4578b5af7bb32f54f5df\thymeleaf-extras-java8time-3.0.4.RELEASE.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\9.0.63\b595f0bdae0392c8b3c8592fea10023956a3f619\tomcat-embed-el-9.0.63.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.hibernate.validator\hibernate-validator\6.2.3.Final\ea4545d1a97b27bada5f2e3f74c6172e641ecf39\hibernate-validator-6.2.3.Final.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\2.7.0\f7120f4a6fd5dd2ca2128061e420e45ae2294943\spring-boot-starter-json-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\2.7.0\b8e5cd8cd4bf3935a68468fe32fe2e7550f96b8a\spring-boot-starter-tomcat-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\5.3.20\8ac1b72a1f5c41fdc2cb3340cd94f795af260301\spring-webmvc-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\5.3.20\3c2fe9363760d62d5b7c9f087bb4255e3377a0b2\spring-web-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\2.7.0\483f9a66d0e8326583c5054038d0aa0a95045dc3\spring-boot-autoconfigure-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\2.7.0\df8bd106d6c6a6494b787b71d23cef6d2dc73703\spring-boot-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.github.gavlyukovskiy\datasource-decorator-spring-boot-autoconfigure\1.5.6\cac386fe9df77870133594f054ee32e5d08ab93d\datasource-decorator-spring-boot-autoconfigure-1.5.6.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\p6spy\p6spy\3.8.2\52299d9a1ec2bc2fb8b1a21cc12dfc1a7c033caf\p6spy-3.8.2.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\5.3.20\c82f17997ab18ecafa8d08ce34a7c7aa4a04ef9e\spring-aop-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.aspectj\aspectjweaver\1.9.7\158f5c255cd3e4408e795b79f7c3fbae9b53b7ca\aspectjweaver-1.9.7.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.zaxxer\HikariCP\4.0.3\107cbdf0db6780a065f895ae9d8fbf3bb0e1c21f\HikariCP-4.0.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jdbc\5.3.20\140414df1080754fcefe12921543c599e51dfbb2\spring-jdbc-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.hibernate.common\hibernate-commons-annotations\5.1.2.Final\e59ffdbc6ad09eeb33507b39ffcf287679a498c8\hibernate-commons-annotations-5.1.2.Final.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.jboss.logging\jboss-logging\3.4.3.Final\c4bd7e12a745c0e7f6cf98c45cdcdf482fd827ea\jboss-logging-3.4.3.Final.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy\1.12.10\f34127d93639fad8c6fb84b3ca30292697d6c55d\byte-buddy-1.12.10.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\antlr\antlr\2.7.7\83cd2cd674a217ade95a4bb83a8a14f351f48bd0\antlr-2.7.7.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.jboss\jandex\2.4.2.Final\1e1c385990b258ff1a24c801e84aebbacf70eb39\jandex-2.4.2.Final.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.fasterxml\classmate\1.5.1\3fe0bed568c62df5e89f4f174c101eab25345b6c\classmate-1.5.1.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\jaxb-runtime\2.3.6\1e6cd0e5d9f9919c8c8824fb4d310b09a978a60e\jaxb-runtime-2.3.6.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\5.3.20\517a42165221ea944c8b794154c10b69c0128281\spring-context-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-orm\5.3.20\4eaf36c114a3aa2d1603834cfb197b5742ccde5b\spring-orm-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-commons\2.7.0\6dc643cf1512fdc5c2d63f55c83080b60b629d10\spring-data-commons-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-tx\5.3.20\9a4ec2249dc3523ac70e0710a64288c14fc3ff78\spring-tx-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\5.3.20\ab88bd9e3a8307f5c0516c15d295c88ec318659\spring-beans-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\5.3.20\4b88aa3c401ede3d6c8ac78ea0c646cf326ec24b\spring-core-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.36\6c62681a2f655b49963a5983b8b0950a6120ae14\slf4j-api-1.7.36.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\2.7.0\5ff2a55d345ad824f39d55eaa32203865a92b30f\spring-boot-starter-logging-2.7.0.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\1.3.5\59eb84ee0d616332ff44aba065f3888cf002cd2d\jakarta.annotation-api-1.3.5.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.30\8fde7fe2586328ac3c68db92045e1c8759125000\snakeyaml-1.30.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf\3.0.15.RELEASE\13e3296a03d8a597b734d832ed8656139bf9cdd8\thymeleaf-3.0.15.RELEASE.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\jakarta.validation\jakarta.validation-api\2.0.2\5eacc6522521f7eacb081f95cee1e231648461e7\jakarta.validation-api-2.0.2.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.13.3\ad2f4c61aeb9e2a8bb5e4a3ed782cfddec52d972\jackson-datatype-jsr310-2.13.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.13.3\f71c4ecc1a403787c963f68bc619b78ce1d2687b\jackson-module-parameter-names-2.13.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.13.3\d4884595d5aab5babdb00ddbd693b8fd36b5ec3c\jackson-datatype-jdk8-2.13.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.13.3\56deb9ea2c93a7a556b3afbedd616d342963464e\jackson-databind-2.13.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\9.0.63\c0bedf7bad4c0552e1805b2bc802604171c64146\tomcat-embed-websocket-9.0.63.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\9.0.63\f427a282d02439570f1e2af2c00376d4188c5291\tomcat-embed-core-9.0.63.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\5.3.20\20e179f0dfabf0a46428f22c2150c9c4850fd15d\spring-expression-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\jakarta.xml.bind\jakarta.xml.bind-api\2.3.3\48e3b9cfc10752fba3521d6511f4165bea951801\jakarta.xml.bind-api-2.3.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\txw2\2.3.6\45db7b69a8f1ec2c21eb7d4fc0ee729f53c1addc\txw2-2.3.6.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.sun.istack\istack-commons-runtime\3.0.12\cbbe1a62b0cc6c85972e99d52aaee350153dc530\istack-commons-runtime-3.0.12.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\5.3.20\35119231d09863699567ce579c21512ddcbc5407\spring-jcl-5.3.20.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.2.11\4741689214e9d1e8408b206506cbe76d1c6a7d60\logback-classic-1.2.11.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-to-slf4j\2.17.2\17dd0fae2747d9a28c67bc9534108823d2376b46\log4j-to-slf4j-2.17.2.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\1.7.36\ed46d81cef9c412a88caef405b58f93a678ff2ca\jul-to-slf4j-1.7.36.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.attoparser\attoparser\2.0.5.RELEASE\a93ad36df9560de3a5312c1d14f69d938099fa64\attoparser-2.0.5.RELEASE.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.unbescape\unbescape\1.1.6.RELEASE\7b90360afb2b860e09e8347112800d12c12b2a13\unbescape-1.1.6.RELEASE.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.13.3\7198b3aac15285a49e218e08441c5f70af00fc51\jackson-annotations-2.13.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.13.3\a27014716e4421684416e5fa83d896ddb87002da\jackson-core-2.13.3.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.2.11\a01230df5ca5c34540cdaa3ad5efb012f1f1f792\logback-core-1.2.11.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.17.2\f42d6afa111b4dec5d2aea0fe2197240749a4ea6\log4j-api-2.17.2.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.h2database\h2\2.1.212\f3187885395bd0c0e0e83f96641bb630f368ee2f\h2-2.1.212.jar;C:\Users\nnubb\.gradle\caches\modules-2\files-2.1\com.sun.activation\jakarta.activation\1.2.2\74548703f9851017ce2f556066659438019e7eb5\jakarta.activation-1.2.2.jar jpabook.jpashop.JpashopApplication data = hello 12:22:06.080 [Thread-0] DEBUG org.springframework.boot.devtools.restart.classloader.RestartClassLoader - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@3b80d04b data = hello . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.0) 2022-06-05 12:22:06.338 INFO 12448 --- [ restartedMain] jpabook.jpashop.JpashopApplication : Starting JpashopApplication using Java 11.0.14 on DESKTOP-9G5TSL6 with PID 12448 (C:\java\study\jpashop\out\production\classes started by butahana in C:\java\study\jpashop) 2022-06-05 12:22:06.338 INFO 12448 --- [ restartedMain] jpabook.jpashop.JpashopApplication : No active profile set, falling back to 1 default profile: "default" 2022-06-05 12:22:06.373 INFO 12448 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable 2022-06-05 12:22:06.373 INFO 12448 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' 2022-06-05 12:22:06.728 INFO 12448 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2022-06-05 12:22:06.736 INFO 12448 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 4 ms. Found 0 JPA repository interfaces. 2022-06-05 12:22:07.045 INFO 12448 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2022-06-05 12:22:07.051 INFO 12448 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2022-06-05 12:22:07.051 INFO 12448 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.63] 2022-06-05 12:22:07.096 INFO 12448 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2022-06-05 12:22:07.097 INFO 12448 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 723 ms 2022-06-05 12:22:07.150 INFO 12448 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2022-06-05 12:22:07.183 INFO 12448 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2022-06-05 12:22:07.190 INFO 12448 --- [ restartedMain] o.s.b.a.h2.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:tcp://localhost/~/jpashop' 2022-06-05 12:22:07.250 INFO 12448 --- [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2022-06-05 12:22:07.273 INFO 12448 --- [ restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.9.Final 2022-06-05 12:22:07.346 INFO 12448 --- [ restartedMain] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2022-06-05 12:22:07.358 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration boolean -> org.hibernate.type.BooleanType@6dd9cd6c 2022-06-05 12:22:07.358 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration boolean -> org.hibernate.type.BooleanType@6dd9cd6c 2022-06-05 12:22:07.358 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Boolean -> org.hibernate.type.BooleanType@6dd9cd6c 2022-06-05 12:22:07.359 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration numeric_boolean -> org.hibernate.type.NumericBooleanType@371f330a 2022-06-05 12:22:07.359 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration true_false -> org.hibernate.type.TrueFalseType@6eaa4e5 2022-06-05 12:22:07.359 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration yes_no -> org.hibernate.type.YesNoType@7702bc84 2022-06-05 12:22:07.360 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.ByteType@759f2816 2022-06-05 12:22:07.360 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.ByteType@759f2816 2022-06-05 12:22:07.360 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Byte -> org.hibernate.type.ByteType@759f2816 2022-06-05 12:22:07.360 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration character -> org.hibernate.type.CharacterType@4affc1a4 2022-06-05 12:22:07.360 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char -> org.hibernate.type.CharacterType@4affc1a4 2022-06-05 12:22:07.360 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Character -> org.hibernate.type.CharacterType@4affc1a4 2022-06-05 12:22:07.361 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.ShortType@6ae4343a 2022-06-05 12:22:07.361 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.ShortType@6ae4343a 2022-06-05 12:22:07.361 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Short -> org.hibernate.type.ShortType@6ae4343a 2022-06-05 12:22:07.361 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration integer -> org.hibernate.type.IntegerType@168ad465 2022-06-05 12:22:07.361 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration int -> org.hibernate.type.IntegerType@168ad465 2022-06-05 12:22:07.361 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Integer -> org.hibernate.type.IntegerType@168ad465 2022-06-05 12:22:07.362 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.LongType@5e26992d 2022-06-05 12:22:07.362 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.LongType@5e26992d 2022-06-05 12:22:07.362 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Long -> org.hibernate.type.LongType@5e26992d 2022-06-05 12:22:07.362 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.FloatType@65381db6 2022-06-05 12:22:07.362 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.FloatType@65381db6 2022-06-05 12:22:07.362 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Float -> org.hibernate.type.FloatType@65381db6 2022-06-05 12:22:07.363 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.DoubleType@1c86120e 2022-06-05 12:22:07.363 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.DoubleType@1c86120e 2022-06-05 12:22:07.363 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Double -> org.hibernate.type.DoubleType@1c86120e 2022-06-05 12:22:07.363 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_decimal -> org.hibernate.type.BigDecimalType@12f937f 2022-06-05 12:22:07.363 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigDecimal -> org.hibernate.type.BigDecimalType@12f937f 2022-06-05 12:22:07.363 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_integer -> org.hibernate.type.BigIntegerType@62708239 2022-06-05 12:22:07.363 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigInteger -> org.hibernate.type.BigIntegerType@62708239 2022-06-05 12:22:07.364 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration string -> org.hibernate.type.StringType@3c459fb3 2022-06-05 12:22:07.364 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.String -> org.hibernate.type.StringType@3c459fb3 2022-06-05 12:22:07.364 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nstring -> org.hibernate.type.StringNVarcharType@25a92983 2022-06-05 12:22:07.364 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ncharacter -> org.hibernate.type.CharacterNCharType@6dad903b 2022-06-05 12:22:07.364 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration url -> org.hibernate.type.UrlType@2fdc5c1e 2022-06-05 12:22:07.364 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.net.URL -> org.hibernate.type.UrlType@2fdc5c1e 2022-06-05 12:22:07.365 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Duration -> org.hibernate.type.DurationType@8bfbab9 2022-06-05 12:22:07.365 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Duration -> org.hibernate.type.DurationType@8bfbab9 2022-06-05 12:22:07.365 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Instant -> org.hibernate.type.InstantType@562717a 2022-06-05 12:22:07.365 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Instant -> org.hibernate.type.InstantType@562717a 2022-06-05 12:22:07.366 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDateTime -> org.hibernate.type.LocalDateTimeType@7a0e8ad2 2022-06-05 12:22:07.366 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDateTime -> org.hibernate.type.LocalDateTimeType@7a0e8ad2 2022-06-05 12:22:07.366 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDate -> org.hibernate.type.LocalDateType@cf46640 2022-06-05 12:22:07.366 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDate -> org.hibernate.type.LocalDateType@cf46640 2022-06-05 12:22:07.367 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalTime -> org.hibernate.type.LocalTimeType@69a9515a 2022-06-05 12:22:07.367 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalTime -> org.hibernate.type.LocalTimeType@69a9515a 2022-06-05 12:22:07.367 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetDateTime -> org.hibernate.type.OffsetDateTimeType@2feed6d 2022-06-05 12:22:07.367 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetDateTime -> org.hibernate.type.OffsetDateTimeType@2feed6d 2022-06-05 12:22:07.367 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetTime -> org.hibernate.type.OffsetTimeType@277d9e59 2022-06-05 12:22:07.367 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetTime -> org.hibernate.type.OffsetTimeType@277d9e59 2022-06-05 12:22:07.368 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ZonedDateTime -> org.hibernate.type.ZonedDateTimeType@179a1eb7 2022-06-05 12:22:07.368 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.ZonedDateTime -> org.hibernate.type.ZonedDateTimeType@179a1eb7 2022-06-05 12:22:07.369 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration date -> org.hibernate.type.DateType@20e6df3d 2022-06-05 12:22:07.369 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Date -> org.hibernate.type.DateType@20e6df3d 2022-06-05 12:22:07.369 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration time -> org.hibernate.type.TimeType@5af5e24d 2022-06-05 12:22:07.369 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Time -> org.hibernate.type.TimeType@5af5e24d 2022-06-05 12:22:07.370 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timestamp -> org.hibernate.type.TimestampType@7f203c51 2022-06-05 12:22:07.370 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Timestamp -> org.hibernate.type.TimestampType@7f203c51 2022-06-05 12:22:07.370 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Date -> org.hibernate.type.TimestampType@7f203c51 2022-06-05 12:22:07.370 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration dbtimestamp -> org.hibernate.type.DbTimestampType@41a0e62e 2022-06-05 12:22:07.371 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar -> org.hibernate.type.CalendarType@38bb4039 2022-06-05 12:22:07.371 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Calendar -> org.hibernate.type.CalendarType@38bb4039 2022-06-05 12:22:07.371 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.GregorianCalendar -> org.hibernate.type.CalendarType@38bb4039 2022-06-05 12:22:07.371 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_date -> org.hibernate.type.CalendarDateType@26c38766 2022-06-05 12:22:07.372 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_time -> org.hibernate.type.CalendarTimeType@79eef376 2022-06-05 12:22:07.372 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration locale -> org.hibernate.type.LocaleType@55fe3864 2022-06-05 12:22:07.372 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Locale -> org.hibernate.type.LocaleType@55fe3864 2022-06-05 12:22:07.372 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration currency -> org.hibernate.type.CurrencyType@4b13aaf3 2022-06-05 12:22:07.372 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Currency -> org.hibernate.type.CurrencyType@4b13aaf3 2022-06-05 12:22:07.372 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timezone -> org.hibernate.type.TimeZoneType@21bbef8d 2022-06-05 12:22:07.373 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.TimeZone -> org.hibernate.type.TimeZoneType@21bbef8d 2022-06-05 12:22:07.373 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration class -> org.hibernate.type.ClassType@1095405d 2022-06-05 12:22:07.373 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Class -> org.hibernate.type.ClassType@1095405d 2022-06-05 12:22:07.373 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-binary -> org.hibernate.type.UUIDBinaryType@79b3be9c 2022-06-05 12:22:07.373 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.UUID -> org.hibernate.type.UUIDBinaryType@79b3be9c 2022-06-05 12:22:07.373 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-char -> org.hibernate.type.UUIDCharType@6d98dae5 2022-06-05 12:22:07.374 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration binary -> org.hibernate.type.BinaryType@64f13ab4 2022-06-05 12:22:07.374 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte[] -> org.hibernate.type.BinaryType@64f13ab4 2022-06-05 12:22:07.374 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [B -> org.hibernate.type.BinaryType@64f13ab4 2022-06-05 12:22:07.374 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-binary -> org.hibernate.type.WrapperBinaryType@3c377e38 2022-06-05 12:22:07.374 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Byte[] -> org.hibernate.type.WrapperBinaryType@3c377e38 2022-06-05 12:22:07.374 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Byte; -> org.hibernate.type.WrapperBinaryType@3c377e38 2022-06-05 12:22:07.375 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration row_version -> org.hibernate.type.RowVersionType@1f31e6a8 2022-06-05 12:22:07.375 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration image -> org.hibernate.type.ImageType@69927b68 2022-06-05 12:22:07.375 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration characters -> org.hibernate.type.CharArrayType@47bf4950 2022-06-05 12:22:07.375 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char[] -> org.hibernate.type.CharArrayType@47bf4950 2022-06-05 12:22:07.375 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [C -> org.hibernate.type.CharArrayType@47bf4950 2022-06-05 12:22:07.377 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-characters -> org.hibernate.type.CharacterArrayType@763f5ac 2022-06-05 12:22:07.377 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Character; -> org.hibernate.type.CharacterArrayType@763f5ac 2022-06-05 12:22:07.377 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Character[] -> org.hibernate.type.CharacterArrayType@763f5ac 2022-06-05 12:22:07.377 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration text -> org.hibernate.type.TextType@3a39b025 2022-06-05 12:22:07.377 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ntext -> org.hibernate.type.NTextType@1ebe971d 2022-06-05 12:22:07.377 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration blob -> org.hibernate.type.BlobType@11b13e02 2022-06-05 12:22:07.377 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Blob -> org.hibernate.type.BlobType@11b13e02 2022-06-05 12:22:07.378 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_blob -> org.hibernate.type.MaterializedBlobType@be9c589 2022-06-05 12:22:07.378 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration clob -> org.hibernate.type.ClobType@2d4eb834 2022-06-05 12:22:07.378 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Clob -> org.hibernate.type.ClobType@2d4eb834 2022-06-05 12:22:07.379 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nclob -> org.hibernate.type.NClobType@27f517c3 2022-06-05 12:22:07.379 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.NClob -> org.hibernate.type.NClobType@27f517c3 2022-06-05 12:22:07.379 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_clob -> org.hibernate.type.MaterializedClobType@3088d376 2022-06-05 12:22:07.379 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_nclob -> org.hibernate.type.MaterializedNClobType@1d627075 2022-06-05 12:22:07.379 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration serializable -> org.hibernate.type.SerializableType@330b8cbc 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration object -> org.hibernate.type.ObjectType@78d2224 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Object -> org.hibernate.type.ObjectType@78d2224 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_date -> org.hibernate.type.AdaptedImmutableType@27babbb3 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_time -> org.hibernate.type.AdaptedImmutableType@721cc372 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_timestamp -> org.hibernate.type.AdaptedImmutableType@4d7ae36a 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_dbtimestamp -> org.hibernate.type.AdaptedImmutableType@455f8ba5 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar -> org.hibernate.type.AdaptedImmutableType@374ac79e 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar_date -> org.hibernate.type.AdaptedImmutableType@23599556 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_binary -> org.hibernate.type.AdaptedImmutableType@392243e4 2022-06-05 12:22:07.381 DEBUG 12448 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_serializable -> org.hibernate.type.AdaptedImmutableType@99e5c6 2022-06-05 12:22:07.404 INFO 12448 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2022-06-05 12:22:07.420 DEBUG 12448 --- [ restartedMain] o.h.type.spi.TypeConfiguration$Scope : Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@3a67b7bd] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@377c4cba] 2022-06-05 12:22:07.573 DEBUG 12448 --- [ restartedMain] org.hibernate.type.EnumType : Using NAMED-based conversion for Enum jpabook.jpashop.domain.DeliveryStatus 2022-06-05 12:22:07.574 DEBUG 12448 --- [ restartedMain] org.hibernate.type.EnumType : Using NAMED-based conversion for Enum jpabook.jpashop.domain.OrderStatus 2022-06-05 12:22:07.574 DEBUG 12448 --- [ restartedMain] o.h.type.spi.TypeConfiguration$Scope : Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@3a67b7bd] to SessionFactoryImpl [org.hibernate.internal.SessionFactoryImpl@1121f434] 2022-06-05 12:22:07.775 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : drop table if exists category CASCADE 2022-06-05 12:22:07.779 INFO 12448 --- [ restartedMain] p6spy : #1654399327779 | took 1ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists category CASCADE drop table if exists category CASCADE ; 2022-06-05 12:22:07.779 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : drop table if exists category_item CASCADE 2022-06-05 12:22:07.779 INFO 12448 --- [ restartedMain] p6spy : #1654399327779 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists category_item CASCADE drop table if exists category_item CASCADE ; 2022-06-05 12:22:07.779 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : drop table if exists delivery CASCADE 2022-06-05 12:22:07.780 INFO 12448 --- [ restartedMain] p6spy : #1654399327780 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists delivery CASCADE drop table if exists delivery CASCADE ; 2022-06-05 12:22:07.780 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : drop table if exists item CASCADE 2022-06-05 12:22:07.781 INFO 12448 --- [ restartedMain] p6spy : #1654399327781 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists item CASCADE drop table if exists item CASCADE ; 2022-06-05 12:22:07.781 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : drop table if exists member CASCADE 2022-06-05 12:22:07.781 INFO 12448 --- [ restartedMain] p6spy : #1654399327781 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists member CASCADE drop table if exists member CASCADE ; 2022-06-05 12:22:07.781 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : drop table if exists order_item CASCADE 2022-06-05 12:22:07.781 INFO 12448 --- [ restartedMain] p6spy : #1654399327781 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists order_item CASCADE drop table if exists order_item CASCADE ; 2022-06-05 12:22:07.781 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : drop table if exists orders CASCADE 2022-06-05 12:22:07.781 INFO 12448 --- [ restartedMain] p6spy : #1654399327781 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop table if exists orders CASCADE drop table if exists orders CASCADE ; 2022-06-05 12:22:07.782 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : drop sequence if exists hibernate_sequence 2022-06-05 12:22:07.782 INFO 12448 --- [ restartedMain] p6spy : #1654399327782 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/jpashop drop sequence if exists hibernate_sequence drop sequence if exists hibernate_sequence; 2022-06-05 12:22:07.783 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : create sequence hibernate_sequence start with 1 increment by 1 2022-06-05 12:22:07.784 INFO 12448 --- [ restartedMain] p6spy : #1654399327784 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create sequence hibernate_sequence start with 1 increment by 1 create sequence hibernate_sequence start with 1 increment by 1; 2022-06-05 12:22:07.784 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : create table category ( category_id bigint not null, name varchar(255), parent_id bigint, primary key (category_id) ) 2022-06-05 12:22:07.785 INFO 12448 --- [ restartedMain] p6spy : #1654399327785 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table category ( category_id bigint not null, name varchar(255), parent_id bigint, primary key (category_id) ) create table category ( category_id bigint not null, name varchar(255), parent_id bigint, primary key (category_id) ); 2022-06-05 12:22:07.785 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : create table category_item ( category_id bigint not null, item_id bigint not null ) 2022-06-05 12:22:07.785 INFO 12448 --- [ restartedMain] p6spy : #1654399327785 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table category_item ( category_id bigint not null, item_id bigint not null ) create table category_item ( category_id bigint not null, item_id bigint not null ); 2022-06-05 12:22:07.785 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : create table delivery ( delevery_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), status varchar(255), primary key (delevery_id) ) 2022-06-05 12:22:07.786 INFO 12448 --- [ restartedMain] p6spy : #1654399327786 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table delivery ( delevery_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), status varchar(255), primary key (delevery_id) ) create table delivery ( delevery_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), status varchar(255), primary key (delevery_id) ); 2022-06-05 12:22:07.786 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : create table item ( dtype varchar(31) not null, item_id bigint not null, name varchar(255), price integer not null, stock_quantity integer not null, artist varchar(255), etc varchar(255), author varchar(255), isbn varchar(255), actor varchar(255), director varchar(255), primary key (item_id) ) 2022-06-05 12:22:07.786 INFO 12448 --- [ restartedMain] p6spy : #1654399327786 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table item ( dtype varchar(31) not null, item_id bigint not null, name varchar(255), price integer not null, stock_quantity integer not null, artist varchar(255), etc varchar(255), author varchar(255), isbn varchar(255), actor varchar(255), director varchar(255), primary key (item_id) ) create table item ( dtype varchar(31) not null, item_id bigint not null, name varchar(255), price integer not null, stock_quantity integer not null, artist varchar(255), etc varchar(255), author varchar(255), isbn varchar(255), actor varchar(255), director varchar(255), primary key (item_id) ); 2022-06-05 12:22:07.786 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : create table member ( member_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), name varchar(255), primary key (member_id) ) 2022-06-05 12:22:07.786 INFO 12448 --- [ restartedMain] p6spy : #1654399327786 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table member ( member_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), name varchar(255), primary key (member_id) ) create table member ( member_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), name varchar(255), primary key (member_id) ); 2022-06-05 12:22:07.786 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : create table order_item ( order_item_id bigint not null, count integer not null, order_price integer not null, item_id bigint, order_id bigint, primary key (order_item_id) ) 2022-06-05 12:22:07.786 INFO 12448 --- [ restartedMain] p6spy : #1654399327786 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table order_item ( order_item_id bigint not null, count integer not null, order_price integer not null, item_id bigint, order_id bigint, primary key (order_item_id) ) create table order_item ( order_item_id bigint not null, count integer not null, order_price integer not null, item_id bigint, order_id bigint, primary key (order_item_id) ); 2022-06-05 12:22:07.786 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : create table orders ( order_id bigint not null, order_date timestamp, status varchar(255), delivery_id bigint, member_id bigint, primary key (order_id) ) 2022-06-05 12:22:07.787 INFO 12448 --- [ restartedMain] p6spy : #1654399327787 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop create table orders ( order_id bigint not null, order_date timestamp, status varchar(255), delivery_id bigint, member_id bigint, primary key (order_id) ) create table orders ( order_id bigint not null, order_date timestamp, status varchar(255), delivery_id bigint, member_id bigint, primary key (order_id) ); 2022-06-05 12:22:07.787 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : alter table category add constraint FK2y94svpmqttx80mshyny85wqr foreign key (parent_id) references category 2022-06-05 12:22:07.788 INFO 12448 --- [ restartedMain] p6spy : #1654399327788 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop alter table category add constraint FK2y94svpmqttx80mshyny85wqr foreign key (parent_id) references category alter table category add constraint FK2y94svpmqttx80mshyny85wqr foreign key (parent_id) references category; 2022-06-05 12:22:07.788 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : alter table category_item add constraint FKu8b4lwqutcdq3363gf6mlujq foreign key (item_id) references item 2022-06-05 12:22:07.788 INFO 12448 --- [ restartedMain] p6spy : #1654399327788 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop alter table category_item add constraint FKu8b4lwqutcdq3363gf6mlujq foreign key (item_id) references item alter table category_item add constraint FKu8b4lwqutcdq3363gf6mlujq foreign key (item_id) references item; 2022-06-05 12:22:07.788 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : alter table category_item add constraint FKcq2n0opf5shyh84ex1fhukcbh foreign key (category_id) references category 2022-06-05 12:22:07.789 INFO 12448 --- [ restartedMain] p6spy : #1654399327789 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop alter table category_item add constraint FKcq2n0opf5shyh84ex1fhukcbh foreign key (category_id) references category alter table category_item add constraint FKcq2n0opf5shyh84ex1fhukcbh foreign key (category_id) references category; 2022-06-05 12:22:07.789 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : alter table order_item add constraint FKija6hjjiit8dprnmvtvgdp6ru foreign key (item_id) references item 2022-06-05 12:22:07.789 INFO 12448 --- [ restartedMain] p6spy : #1654399327789 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop alter table order_item add constraint FKija6hjjiit8dprnmvtvgdp6ru foreign key (item_id) references item alter table order_item add constraint FKija6hjjiit8dprnmvtvgdp6ru foreign key (item_id) references item; 2022-06-05 12:22:07.790 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : alter table order_item add constraint FKt4dc2r9nbvbujrljv3e23iibt foreign key (order_id) references orders 2022-06-05 12:22:07.790 INFO 12448 --- [ restartedMain] p6spy : #1654399327790 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop alter table order_item add constraint FKt4dc2r9nbvbujrljv3e23iibt foreign key (order_id) references orders alter table order_item add constraint FKt4dc2r9nbvbujrljv3e23iibt foreign key (order_id) references orders; 2022-06-05 12:22:07.790 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : alter table orders add constraint FKtkrur7wg4d8ax0pwgo0vmy20c foreign key (delivery_id) references delivery 2022-06-05 12:22:07.791 INFO 12448 --- [ restartedMain] p6spy : #1654399327791 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop alter table orders add constraint FKtkrur7wg4d8ax0pwgo0vmy20c foreign key (delivery_id) references delivery alter table orders add constraint FKtkrur7wg4d8ax0pwgo0vmy20c foreign key (delivery_id) references delivery; 2022-06-05 12:22:07.791 DEBUG 12448 --- [ restartedMain] org.hibernate.SQL : alter table orders add constraint FKpktxwhj3x9m4gth5ff6bkqgeb foreign key (member_id) references member 2022-06-05 12:22:07.792 INFO 12448 --- [ restartedMain] p6spy : #1654399327792 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/jpashop alter table orders add constraint FKpktxwhj3x9m4gth5ff6bkqgeb foreign key (member_id) references member alter table orders add constraint FKpktxwhj3x9m4gth5ff6bkqgeb foreign key (member_id) references member; 2022-06-05 12:22:07.793 INFO 12448 --- [ restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2022-06-05 12:22:07.797 TRACE 12448 --- [ restartedMain] o.h.type.spi.TypeConfiguration$Scope : Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@1121f434] for TypeConfiguration 2022-06-05 12:22:07.798 INFO 12448 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2022-06-05 12:22:07.870 WARN 12448 --- [ restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2022-06-05 12:22:07.950 INFO 12448 --- [ restartedMain] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2022-06-05 12:22:08.059 INFO 12448 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 2022-06-05 12:22:08.090 INFO 12448 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2022-06-05 12:22:08.097 INFO 12448 --- [ restartedMain] jpabook.jpashop.JpashopApplication : Started JpashopApplication in 2.008 seconds (JVM running for 2.535) 2022-06-05 12:22:20.988 INFO 12448 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2022-06-05 12:22:20.988 INFO 12448 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2022-06-05 12:22:20.990 INFO 12448 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms 2022-06-05 12:22:21.083 INFO 12448 --- [nio-8080-exec-1] j.jpashop.controller.HomeController : home controller 2022-06-05 12:22:21.764 INFO 12448 --- [nio-8080-exec-2] j.jpashop.controller.HomeController : home controller 2022-06-05 12:22:22.612 INFO 12448 --- [nio-8080-exec-5] j.jpashop.controller.HomeController : home controller 2022-06-05 12:22:32.624 DEBUG 12448 --- [nio-8080-exec-3] org.hibernate.SQL : call next value for hibernate_sequence 2022-06-05 12:22:32.632 INFO 12448 --- [nio-8080-exec-3] p6spy : #1654399352632 | took 4ms | statement | connection 4| url jdbc:h2:tcp://localhost/~/jpashop call next value for hibernate_sequence call next value for hibernate_sequence; 2022-06-05 12:22:32.657 DEBUG 12448 --- [nio-8080-exec-3] org.hibernate.SQL : insert into item (name, price, stock_quantity, author, isbn, dtype, item_id) values (?, ?, ?, ?, ?, 'B', ?) 2022-06-05 12:22:32.659 TRACE 12448 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [VARCHAR] - [JPA] 2022-06-05 12:22:32.659 TRACE 12448 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [INTEGER] - [1] 2022-06-05 12:22:32.660 TRACE 12448 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [INTEGER] - [1] 2022-06-05 12:22:32.660 TRACE 12448 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder : binding parameter [4] as [VARCHAR] - [qweqwe] 2022-06-05 12:22:32.660 TRACE 12448 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder : binding parameter [5] as [VARCHAR] - [122] 2022-06-05 12:22:32.660 TRACE 12448 --- [nio-8080-exec-3] o.h.type.descriptor.sql.BasicBinder : binding parameter [6] as [BIGINT] - [1] 2022-06-05 12:22:32.661 INFO 12448 --- [nio-8080-exec-3] p6spy : #1654399352661 | took 0ms | statement | connection 4| url jdbc:h2:tcp://localhost/~/jpashop insert into item (name, price, stock_quantity, author, isbn, dtype, item_id) values (?, ?, ?, ?, ?, 'B', ?) insert into item (name, price, stock_quantity, author, isbn, dtype, item_id) values ('JPA', 1, 1, 'qweqwe', '122', 'B', 1); 2022-06-05 12:22:32.663 INFO 12448 --- [nio-8080-exec-3] p6spy : #1654399352663 | took 0ms | commit | connection 4| url jdbc:h2:tcp://localhost/~/jpashop ; 2022-06-05 12:22:37.202 DEBUG 12448 --- [nio-8080-exec-7] org.hibernate.SQL : call next value for hibernate_sequence 2022-06-05 12:22:37.202 INFO 12448 --- [nio-8080-exec-7] p6spy : #1654399357202 | took 0ms | statement | connection 5| url jdbc:h2:tcp://localhost/~/jpashop call next value for hibernate_sequence call next value for hibernate_sequence; 2022-06-05 12:22:37.203 DEBUG 12448 --- [nio-8080-exec-7] org.hibernate.SQL : insert into item (name, price, stock_quantity, author, isbn, dtype, item_id) values (?, ?, ?, ?, ?, 'B', ?) 2022-06-05 12:22:37.204 TRACE 12448 --- [nio-8080-exec-7] o.h.type.descriptor.sql.BasicBinder : binding parameter [1] as [VARCHAR] - [JPA] 2022-06-05 12:22:37.204 TRACE 12448 --- [nio-8080-exec-7] o.h.type.descriptor.sql.BasicBinder : binding parameter [2] as [INTEGER] - [1] 2022-06-05 12:22:37.204 TRACE 12448 --- [nio-8080-exec-7] o.h.type.descriptor.sql.BasicBinder : binding parameter [3] as [INTEGER] - [1] 2022-06-05 12:22:37.204 TRACE 12448 --- [nio-8080-exec-7] o.h.type.descriptor.sql.BasicBinder : binding parameter [4] as [VARCHAR] - [qweqwe] 2022-06-05 12:22:37.204 TRACE 12448 --- [nio-8080-exec-7] o.h.type.descriptor.sql.BasicBinder : binding parameter [5] as [VARCHAR] - [122] 2022-06-05 12:22:37.204 TRACE 12448 --- [nio-8080-exec-7] o.h.type.descriptor.sql.BasicBinder : binding parameter [6] as [BIGINT] - [2] 2022-06-05 12:22:37.204 INFO 12448 --- [nio-8080-exec-7] p6spy : #1654399357204 | took 0ms | statement | connection 5| url jdbc:h2:tcp://localhost/~/jpashop insert into item (name, price, stock_quantity, author, isbn, dtype, item_id) values (?, ?, ?, ?, ?, 'B', ?) insert into item (name, price, stock_quantity, author, isbn, dtype, item_id) values ('JPA', 1, 1, 'qweqwe', '122', 'B', 2); 2022-06-05 12:22:37.204 INFO 12448 --- [nio-8080-exec-7] p6spy : #1654399357204 | took 0ms | commit | connection 5| url jdbc:h2:tcp://localhost/~/jpashop ;
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
@JsonIgnore 는 엔티티에서 안붙여도 되는걸까요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 강의 잘 보고 있습니다 감사합니다! 엔티티는 json으로 반환하지 않는 걸로 알고 있고 그렇게하면 안된다는 걸 이해했습니다. 그렇다면, 엔티티를 json으로 반환하지 않는 방식으로 설계를 한다면 @JsonIgnore 는 양방향 관계에서도 안붙여도 될까요??
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
distinct 질문 드립니다!
일대다 컬렉션 페치 조인 조회의 경우 팀A인 멤버가 1, 2, 3이면 DB는 멤버를 기준으로 조인을 해서 팀A인 row가 3개가 생기고 하이버네이트는 이를 받아와서 리스트로 반환(getResultList)해줄 때 리스트에 팀 A 엔티티를 3개 담아줍니다. 여기서 각각의 엔티티는 PK 값이 같기 때문에 서로 같은 엔티티를 참조합니다. (이렇게 이해를 했습니다!) 그러면 쿼리 횟수에 영향을 주는 건 페치 조인이고, distinct는 리스트에 중복 엔티티만 제거하는 역할만 하는 것 같은데 (select 다음 distinct가 추가되는 것 외에는 차이가 없음) 속도적인 면에서는 별 차이가 없는 것이 맞을까요??