묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
java.sql 빨간줄
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 위 그림과 같이 java.sql이 빨간 줄이 뜨는데 어느 부분을 확인해야 하는지 잘 모르겠습니다.
-
해결됨스프링 핵심 원리 - 기본편
스프링, 스프링부트
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]https://www.inflearn.com/questions/781242/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8 정확하게 궁금증이 풀리지 않아 다시 질문드립니다. 다시 한번 질문드리자면,제가 배우고 있는게 정확히 스프링인지 스프링 프레임워크인지 감이 안와요.말씀에 따르면, 본 강의 내에서 설정한 환경은 스프링 부트환경인거고, 이 안에서 제가 현재 학습하고 있는 모든 내용은 스프링 내용이 맞는거죠?또한 인텔리제이에서 단순히 ctrl shift f10을 이용해서 코드를 실행하는 것은 단순히 스프링을 사용하고 있는 것이고, 인텔리제이에서 CoreApplication 을 실행하는 것은 스프링 부트를 사용하는 것인가요?그렇다면 여기서 스프링 부트를 실행한 것은 스프링 부트로 스프링 프레임워크를 실행한 것으로 이해해도 무방할까요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
43강에서 id가 갑자기 사라졌는데요
분명히 성별의 id가 18분 전까지는 있었는데 갑자기 사라져서요 id를 제거해준 이유가 무엇인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
서로 다른 프로젝트의 welcome page
안녕하세요 mvc 2편 코드를 따라하며 프로젝트를 실행시키고 확인하다가,mvc 1편에 특정 부분을 확인하고자 1편에서 썼던 프로젝트를 실행시켰습니다 분명 2편 프로젝트를 실행중지하고, 1편 프로젝트를 실행했는데localhost:8080 을 통해 나온 welcome page가 2편 프로젝트의 index.html 입니다왜 1편 프로젝트의 index.html이 welcome page로 뜨지 않는 것일까요? 감사합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build 생성 오류 문의드립니다.
안녕하세요 아래 링크의 문의글과 같은 상황이라 문의드립니다.build 생성 오류 질문드립니다...(윈도우)https://www.inflearn.com/questions/268449/build-%EC%83%9D%EC%84%B1-%EC%98%A4%EB%A5%98-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4-%EC%9C%88%EB%8F%84%EC%9A%B0 인텔리제이에서는 정상적으로 컴파일 되는 상태입니다.인텔리제이를 종료 한 상태에서 CMD를 통해 gradle을 build하면 아래와 같은 오류 메세지가 나오는 상태입니다.댓글에 안내해주신 대로 프로젝트를 새로 생성 후 바로 CMD에서 컴파일을 했는데도 오류 메세지가 동일해서 문의드립니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA를 적용시에 서비스 로직 간의 순환 참조 상황에 대해서 질문이 있습니다...
안녕하세요 김영한 강사님의 강의를 듣고 개인 프로젝트에 JPA를 정말 잘 사용하고 있습니다.JPA를 사용해서 개발을 하다 보니 JPA를 사용하기 전과 다르게 확실히 객체의 역할을 분리해서 만들 수 있었고 동일 트랜잭션 내에서 영속성 엔티티 객체를 활용하여 DB 통신을 최소화할 수 있었습니다.그러나 동일한 트랜잭션 내에서 모든 비즈니스 로직을 끝내도록 설계를 하다 보니 서비스 클래스 내에서 다른 서비스 클래스를 사용해야 하는 상황이 빈번히 생겼습니다.그렇게 무턱대고 서비스 클래스에서 DI를 남용하다 하여 서비스 클래스 간 순환 참조 상황이 벌어지게 되었습니다.문제를 해결하기 위해 spirng DI 대해서 공부를 하였고 설계가 잘못되었다는 걸 알게 되어 2가지 해결 방법을 생각해 봤습니다.첫번째 해결방법:컨트롤러를 거쳐서 순차적으로 서비스 로직을 수행하는 방식이었지만JPA를 사용하기 때문에 동일한 트랜잭션 내에서 처리하지 않으면 영속성이 해제되어 다시 DB를 참조해야 하는 상황일뿐더러컨트롤러는 http 파라미터를 검증하고 사용자에게 원하는 정보만 전달한다는 컨트롤러 객체 역할의 기준이 모호해질 것 같았습니다.컨트롤러에서 트랜잭션을 걸 수 있도록 설정하는 방법을 알아봤지만 위험성이 존재한다고 들었습니다.두번째 해결방법:조회만 하는 Service 클래스,현재 데이터를 검증하여 저장, 변경하는 객체를 실행하는 클래스 등입출력을 동시에 하는 서비스 객체를 분리하거나검증하는 과정의 로직을 따로 분리하여 단 방향으로 흐르게 재설계 했습니다.분리하게 되면서 검증 클래스 같은 경우 추후에 여러 서비스에서 다양한 검증 로직이 필요하게 되면 인터페이스화하여 공통 검증 기능으로 사용할 수 있는 다형성까지 생각해 볼 수 있게 될 것 같아서 현재 이 방법으로 리팩토링하였습니다.아직 실무를 겪어 보지 못한 취준생이라 제가 해결 한 두번째 방법이 맞는 건지 불안합니다.아니면 에초에 설계가 잘못되어 다시 구성을 해야 하는 상황일까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 정적파일 관리는 그래들에만 해당되는것이 맞나요?
==============================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]스프링 부트에서 정적 파일 관리를 제공하는 것이 그래들, 메이븐 모두에게 해당되는 개념인지 아니면 그래들에만 해당되는 얘기인지 궁금합니다.메이븐 방식일 경우 webapp 하위에 resources와 WEB-INF로 나뉘는데 정적파일이 resources에 저장되는걸로 알고있습니다.스프링프레임워크에서는 뷰리졸버의 prefix가 기본적으로 /WEB-INF/views/ 이렇게 세팅해두고 하는것으로 알고있거든요...
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
DI 이해도 확인
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]제가 DI를 제대로 이해한 것인지 확인 부탁드려도 될까요?MemberService클래스와 MemberServiceTest클래스의 멤버변수인 MemoryMemberRepository 객체가 다른 객체일 가능성이 있습니다. 각각의 두 클래스에서 굳이 동일한(총 2개) MemoryMemberRepository객체를 만들 필요는 없습니다. 왜냐하면 두 객체가 다른 객체일 가능성도 있고 목적상 다른 객체이어야 할 이유가 전혀 없기 때문입니다. 이러한 문제를 개선하기 위해 DI가 필요합니다. DI를 하는 방법은 다음과 같습니다. MemberService클래스에서 멤버변수에MemoryMemberRepository 객체를 생성하지 않고 참조변수만을 선언합니다. 생성자를 만들어 MemoryMemberRepository 객체를 주입받고 그 객체를 멤버변수 MemoryMemberRepository로서 사용하도록 합니다. MemberServiceTest클래스에서 MemberService 생성자를 사용하여 MemberService 객체를 생성하는데 이 때, 생성자의 인자에 MemoryMemberRepository 객체를 생성해 주입합니다. MemberService클래스에서 생성자를 만들었고 생성자의 인자로 MemoryMemberRepository 객체를 주입받고 그 객체를 멤버변수로 사용하기로 했다는 것을 잊지말아야 합니다. 이것이 핵심입니다. 물론 14분대 강의영상에서는 MemberServiceTest클래스에서 MemberService의 각 메서드들이 테스트되기 전 매번 MemberService 객체가 만들어져야 하므로 beforeEach() 메서드 안에서 구현이 되었을 뿐, DI의 원리는 지금까지 설명한 바와 동일합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
12분대 memberRepository 참조변수 이름 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]MemberService에서 아직 어떤 DB를 사용할지 모르니 참조타입을 MemberRepository로 하고생성자를 MemoryMemberRepository를 한 것은 이해가 갔습니다. 다형성을 위해서 그러신 것이죠.private final MemberRepository memberRepository = new MemoryMemberRepository(); 근데 강의영상 12:00부터의도치 않은 Member객체를 가르킬 수 있으니 MemberServiceTest에서 멤버변수 AfterEach()를 새로 만들어 리포지토리를 지우기 위해 MemoryMemberRepository의 clearStore()를 가져와야 했습니다.그래서 MemberServiceTest 16라인에MemoryMemberRepository memberRepository = new MemoryMemberRepository();이렇게 작성하셨습니다. 근데 제가 생각했을 때 참조타입도 MemoryMemberRepository 이고 생성자도 MemoryMemberRepository인데 어째서 참조변수의 이름은 memberRepository 인건지 궁금합니다. 귀한 시간 내주셔서 제 질문 읽어주셔서 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
조건(where)을 포함한 일대다(1:N) 페이징 쿼리 질문
안녕하세요. 영한님20만 수강생 진심으로 축하드립니다.^^🎉프로젝트 도중에 막혀서 강의를 👀복습하던 중 질문드립니다..!(영한님 강의 덕분에 저도 이러한 고민을 하게되다니... 감사의 말씀 드립니다.😊) 페이징이 가능하고 item.name으로 order를 조회하려고 하면 어떠한 방식으로 코드를 작성 해야할까요? 일단 제가 생각한 방법은 다음과 같습니다.V3.1 적용요구사항은 회원(member), 결제(payment), 배송(delievery), 주문 상품(orderItem)을 포함해서 페이징이 되도록 주문(order)을 조회하고, 조건으로 상품 이름(item.name)으로 조회가 가능해야 하는 것 입니다.orderItem은 일대다 관계 이기 때문에 페이징이 불가합니다.그래서 V3.1의 방법인 hibernate.default_batch_fetch_size 을 이용하여 IN 쿼리로 orderItem을 조회하려고 합니다.이렇게 하면 페이징이 가능하도록 order는 조회할수는 있지만, item.name을 조건으로 조회 할 수는 없습니다. V5 적용그래서 V5에서 알려주신 방법을 사용했습니다.order와 orderItem을 분리한다.order을 이용하여 orderItem을 조회한다.(추가로 item.name 조건도 넣는다.)조회한 결과를 하나의 List으로 만든다.List을 다시 Page로 변환한다.public Page<AdminOrderListQueryDto> findOrdersByAdmin(Pageable pageable, OrderSearchCondition condition) { // 주문 전체 조회 List<AdminOrderListQueryDto> content = queryFactory .select(new QAdminOrderListQueryDto(order.id, order.status.stringValue(), order.safeKingPayment.amount, order.createDate, order.merchantUid, new QAdminOrderListPaymentQueryDto(order.safeKingPayment.status.stringValue()), new QAdminOrderListMemberQueryDto(order.member.name), new QAdminOrderListDeliveryQueryDto(order.delivery.receiver, order.delivery.status.stringValue())) ) .from(order) .leftJoin(order.safeKingPayment, safekingPayment) .leftJoin(order.delivery, delivery) .leftJoin(order.member, member) .where( orderBetweenDate(condition.getFromDate(), condition.getToDate()), deliveryStatusEq(condition.getDeliveryStatus()), paymentStatusEq(condition.getPaymentStatus()) ) .orderBy(order.createDate.desc()) .fetch(); // 주문 아이디 저장 List<Long> orderIds = content.stream() .map(o -> o.getId()) .collect(Collectors.toList()); // 상품명으로 검색 조건 Map<Long, List<AdminOrderListOrderItemQueryDto>> orderItemMap = findOrderItemMap(orderIds, condition.getKeyword()); // 주문객체에 주문 상품컬렉션 저장 content.forEach(o -> o.setOrderItems(orderItemMap.get(o.getId()))); // 주문상품이 null이 아닌 컬렌션으로 구성 List<AdminOrderListQueryDto> resultContent = content.stream() .filter(o -> o.getOrderItems() != null) .collect(Collectors.toList()); // List를 Page로 변환 PageRequest pageRequest = PageRequest.of(pageable.getPageNumber(), pageable.getPageSize()); int start = (int) pageRequest.getOffset(); int end = Math.min(start + pageRequest.getPageSize(), resultContent.size()); if(start > end) { throw new OrderException("데이터가 없습니다. 관리자에게 문의하세요."); } return new PageImpl<>(resultContent.subList(start, end), pageRequest, resultContent.size()); } private Map<Long, List<AdminOrderListOrderItemQueryDto>> findOrderItemMap(List<Long> orderIds, String keyword) { // 주문 상품 검색(item.name 조건 포함) List<AdminOrderListOrderItemQueryDto> orderItems = queryFactory.select(new QAdminOrderListOrderItemQueryDto(orderItem.order.id, orderItem.id, orderItem.item.name)) .from(orderItem) .leftJoin(orderItem.item, item) .where( orderItem.order.id.in(orderIds), keywordContains(keyword) ) .fetch(); // Map 으로 변환 Map<Long, List<AdminOrderListOrderItemQueryDto>> orderItemMap = orderItems.stream() .collect(Collectors.groupingBy(orderItemQueryDto -> orderItemQueryDto.getOrderId())); return orderItemMap; } // 아이템이름 포함 조건 private BooleanExpression keywordContains(String keyword) { return hasText(keyword) ? item.name.contains(keyword) : null; } 이러한 방식을 사용하는게 맞을까요? 🤔 감사합니다.^^
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
request inputStream 로깅 관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]공통처리는 필터보다는 인터셉터를 우선적으로 고려하라고 말씀해 주셨었는데요,모든 요청에 대해 request 의 inputStream 을 이용해 requestBody 로깅을 한다고 했을때 필터와 인터셉트 중 어느것을 사용하는게 더 적절하다고 보시는지 궁금합니다.
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
45강 질문
안녕하세요 강의 잘 듣고 있습니다~44강까지는 잘 따라가서 mysql까지 설치를 완료 했는데git clone https://github.com/kgm7642/library-app.git 명령어를 입력하니까-bash: git: command not found 오류가 뜨는데 어떻게 해결하면 좋을까요..??
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 야생형 코스 관련 질문 드립니다.
안녕하세요.오늘도 질문을 남기러 왔습니다. 자주 올려서 죄송합니다ㅠ저는 이제 국비지원학원에서 JSP + SERVLET을 기반으로하는 팀 프로젝트를 마치고 스프링 강의에 들어갑니다.학원 강의를 따라가기 위해, 김영한 강사님의 스프링 입문, 스프링 핵심 원리(기본편) 강의로 스프링을 예습을 해둔 상태입니다.원래대로라면 다음 강의로 스프링 MVC 1편을 들을 예정이었지만, 강사님 조언에 따라서 야생형 코스를 밟고자합니다! 저 같은 상황이라면 바로 JPA 활용 1편으로 넘어가면 되는게 맞을까요? 학원 커리큘럼이 mybatis 기반이라 JPA를 선행학습하는게 맞나 고민이 생겨서 질문 드립니다 ㅠㅠ...
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
인터페이스를 test
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]인터페이스를 테스트 하게 되면 의존관계 주입 같은거는 어디서 일어나게 되는건가요? TEST 코드에서는 MemoryItemRepository 로 주입하지 않는거 같은데..인터페이스를 테스트한다는 말도 잘 이해가 되지 않고..어떤식으로 받아들이면 되는건가요??
-
미해결실전! 스프링 데이터 JPA
질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. 만약 slice 를 이용해서 0부터 10개의 데이터를 가져오려고 하는데 데이터가 10개 미만으로 있다면 어떻게 처리가 되나요?2. public int bulkAgePlus(int age) { int resultCount = em.createQuery( "update Member m set m.age = m.age + 1" + "where m.age >= :age") .setParameter("age", age) .executeUpdate(); return resultCount; }이 코드에서 resultCount를 return 하는데, 쿼리 문에서 count 와 같은 표현이 안보이는데 어떻게 개수를 return 할 수 있나요?
-
미해결스프링 핵심 원리 - 기본편
스프링? 스프링부트?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]간단하게 질문드립니다.스프링과 스프링부트의 차이를 모르고 지금까지 학습해왔는데요, 이 강의에서 영한님께서는 스프링부트를 통해 실행을 하고 그에 따른 빈 중복등록의 차이점을 언급해주셨습니다. 여기서 제가 궁금한 것은 스프링과 스프링부트의 차이점입니다. 지금까지 우리가 배운 컨테이너라든가 빈등록하는 것은 스프링 프레임워크를 사용한 것이고, 이 강의에서 처음으로 보여주신 스프링부트실행은 스프링 프레임워크와는 다른 것인가요? 만약 그렇다면 스프링 프레임워크만 사용할 때는 스프링부트의 CoreApplication을 실행하는 것처럼 어떤 실행방식이 있는 게 아니라, 지금까지 우리가 배운 컨테이너 생성(AnnotationConfigApplicationContext)과 이 곳에 빈을 등록하는 여러가지 방법들을 배운대로 사용하는 방식인거죠?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티 클래스 개발2 오류
-전체프로젝트https://drive.google.com/file/d/1V63EmM-n5MBCXXGRjeb6YGkNIFYPg9wh/view?usp=sharing-db연결JpashopApplication을 실행하면 db에 저장도 안되고 아래와 같은 오류가 발생하는데 구글링해봐도 원인을 모르겠습니다ㅠ 17:50:18.730 [Thread-0] DEBUG org.springframework.boot.devtools.restart.classloader.RestartClassLoader - Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@b9103d0. ____ _/\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v2.7.8)2023-02-12 17:50:20.303 INFO 20016 --- [ restartedMain] jpabook.jpashop.JpashopApplication : Starting JpashopApplication using Java 11.0.17 on DESKTOP-UF4QT27 with PID 20016 (C:\Users\박용현\Desktop\spring\jpashop\out\production\classes started by 박용현 in C:\Users\박용현\Desktop\spring\jpashop)2023-02-12 17:50:20.309 INFO 20016 --- [ restartedMain] jpabook.jpashop.JpashopApplication : No active profile set, falling back to 1 default profile: "default"2023-02-12 17:50:20.474 INFO 20016 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable2023-02-12 17:50:20.474 INFO 20016 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'2023-02-12 17:50:23.188 INFO 20016 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.2023-02-12 17:50:23.251 INFO 20016 --- [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 31 ms. Found 0 JPA repository interfaces.2023-02-12 17:50:26.177 INFO 20016 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)2023-02-12 17:50:26.208 INFO 20016 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]2023-02-12 17:50:26.208 INFO 20016 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.71]2023-02-12 17:50:26.629 INFO 20016 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2023-02-12 17:50:26.629 INFO 20016 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 6154 ms2023-02-12 17:50:27.113 INFO 20016 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2023-02-12 17:50:27.407 INFO 20016 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.2023-02-12 17:50:27.433 INFO 20016 --- [ restartedMain] o.s.b.a.h2.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:tcp://localhost/~/jpashop'2023-02-12 17:50:28.023 INFO 20016 --- [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]2023-02-12 17:50:28.296 INFO 20016 --- [ restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.14.Final2023-02-12 17:50:28.796 INFO 20016 --- [ restartedMain] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}2023-02-12 17:50:28.889 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration boolean -> org.hibernate.type.BooleanType@6713f7352023-02-12 17:50:28.889 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration boolean -> org.hibernate.type.BooleanType@6713f7352023-02-12 17:50:28.890 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Boolean -> org.hibernate.type.BooleanType@6713f7352023-02-12 17:50:28.892 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration numeric_boolean -> org.hibernate.type.NumericBooleanType@1e459b442023-02-12 17:50:28.893 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration true_false -> org.hibernate.type.TrueFalseType@138cb0392023-02-12 17:50:28.894 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration yes_no -> org.hibernate.type.YesNoType@71a91acb2023-02-12 17:50:28.897 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.ByteType@11722a162023-02-12 17:50:28.897 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte -> org.hibernate.type.ByteType@11722a162023-02-12 17:50:28.897 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Byte -> org.hibernate.type.ByteType@11722a162023-02-12 17:50:28.900 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration character -> org.hibernate.type.CharacterType@389636c12023-02-12 17:50:28.900 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char -> org.hibernate.type.CharacterType@389636c12023-02-12 17:50:28.901 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Character -> org.hibernate.type.CharacterType@389636c12023-02-12 17:50:28.904 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.ShortType@5d2ac06b2023-02-12 17:50:28.904 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration short -> org.hibernate.type.ShortType@5d2ac06b2023-02-12 17:50:28.905 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Short -> org.hibernate.type.ShortType@5d2ac06b2023-02-12 17:50:28.907 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration integer -> org.hibernate.type.IntegerType@528010c02023-02-12 17:50:28.908 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration int -> org.hibernate.type.IntegerType@528010c02023-02-12 17:50:28.908 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Integer -> org.hibernate.type.IntegerType@528010c02023-02-12 17:50:28.911 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.LongType@5b1685fc2023-02-12 17:50:28.913 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration long -> org.hibernate.type.LongType@5b1685fc2023-02-12 17:50:28.916 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Long -> org.hibernate.type.LongType@5b1685fc2023-02-12 17:50:28.919 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.FloatType@38f887e32023-02-12 17:50:28.921 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration float -> org.hibernate.type.FloatType@38f887e32023-02-12 17:50:28.921 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Float -> org.hibernate.type.FloatType@38f887e32023-02-12 17:50:28.924 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.DoubleType@6464df782023-02-12 17:50:28.924 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration double -> org.hibernate.type.DoubleType@6464df782023-02-12 17:50:28.924 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Double -> org.hibernate.type.DoubleType@6464df782023-02-12 17:50:28.927 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_decimal -> org.hibernate.type.BigDecimalType@68f6af8c2023-02-12 17:50:28.928 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigDecimal -> org.hibernate.type.BigDecimalType@68f6af8c2023-02-12 17:50:28.931 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration big_integer -> org.hibernate.type.BigIntegerType@53b648232023-02-12 17:50:28.931 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.math.BigInteger -> org.hibernate.type.BigIntegerType@53b648232023-02-12 17:50:28.934 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration string -> org.hibernate.type.StringType@2b83184e2023-02-12 17:50:28.935 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.String -> org.hibernate.type.StringType@2b83184e2023-02-12 17:50:28.939 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nstring -> org.hibernate.type.StringNVarcharType@5fa0b6e32023-02-12 17:50:28.940 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ncharacter -> org.hibernate.type.CharacterNCharType@2aa296fb2023-02-12 17:50:28.942 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration url -> org.hibernate.type.UrlType@78cb3fee2023-02-12 17:50:28.942 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.net.URL -> org.hibernate.type.UrlType@78cb3fee2023-02-12 17:50:28.945 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Duration -> org.hibernate.type.DurationType@277d52e72023-02-12 17:50:28.946 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Duration -> org.hibernate.type.DurationType@277d52e72023-02-12 17:50:28.949 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Instant -> org.hibernate.type.InstantType@498a0c9a2023-02-12 17:50:28.950 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.Instant -> org.hibernate.type.InstantType@498a0c9a2023-02-12 17:50:28.958 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDateTime -> org.hibernate.type.LocalDateTimeType@57ffec922023-02-12 17:50:28.958 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDateTime -> org.hibernate.type.LocalDateTimeType@57ffec922023-02-12 17:50:28.959 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalDate -> org.hibernate.type.LocalDateType@4bea9a672023-02-12 17:50:28.960 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalDate -> org.hibernate.type.LocalDateType@4bea9a672023-02-12 17:50:28.962 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration LocalTime -> org.hibernate.type.LocalTimeType@392170012023-02-12 17:50:28.962 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.LocalTime -> org.hibernate.type.LocalTimeType@392170012023-02-12 17:50:28.964 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetDateTime -> org.hibernate.type.OffsetDateTimeType@4e163b6a2023-02-12 17:50:28.964 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetDateTime -> org.hibernate.type.OffsetDateTimeType@4e163b6a2023-02-12 17:50:28.966 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration OffsetTime -> org.hibernate.type.OffsetTimeType@3bc72a8d2023-02-12 17:50:28.966 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.OffsetTime -> org.hibernate.type.OffsetTimeType@3bc72a8d2023-02-12 17:50:28.968 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ZonedDateTime -> org.hibernate.type.ZonedDateTimeType@3aaba5042023-02-12 17:50:28.969 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.time.ZonedDateTime -> org.hibernate.type.ZonedDateTimeType@3aaba5042023-02-12 17:50:28.971 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration date -> org.hibernate.type.DateType@729892722023-02-12 17:50:28.971 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Date -> org.hibernate.type.DateType@729892722023-02-12 17:50:28.973 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration time -> org.hibernate.type.TimeType@1feeb6892023-02-12 17:50:28.974 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Time -> org.hibernate.type.TimeType@1feeb6892023-02-12 17:50:28.976 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timestamp -> org.hibernate.type.TimestampType@5d8af35c2023-02-12 17:50:28.976 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Timestamp -> org.hibernate.type.TimestampType@5d8af35c2023-02-12 17:50:28.977 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Date -> org.hibernate.type.TimestampType@5d8af35c2023-02-12 17:50:28.980 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration dbtimestamp -> org.hibernate.type.DbTimestampType@56bc32082023-02-12 17:50:28.982 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar -> org.hibernate.type.CalendarType@a978b5b2023-02-12 17:50:28.982 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Calendar -> org.hibernate.type.CalendarType@a978b5b2023-02-12 17:50:28.983 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.GregorianCalendar -> org.hibernate.type.CalendarType@a978b5b2023-02-12 17:50:28.984 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_date -> org.hibernate.type.CalendarDateType@118c76ba2023-02-12 17:50:28.985 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration calendar_time -> org.hibernate.type.CalendarTimeType@40b9a12e2023-02-12 17:50:28.987 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration locale -> org.hibernate.type.LocaleType@7e81e14b2023-02-12 17:50:28.988 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Locale -> org.hibernate.type.LocaleType@7e81e14b2023-02-12 17:50:28.990 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration currency -> org.hibernate.type.CurrencyType@3960d5842023-02-12 17:50:28.990 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.Currency -> org.hibernate.type.CurrencyType@3960d5842023-02-12 17:50:28.992 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration timezone -> org.hibernate.type.TimeZoneType@26f5e3b52023-02-12 17:50:28.992 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.TimeZone -> org.hibernate.type.TimeZoneType@26f5e3b52023-02-12 17:50:28.994 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration class -> org.hibernate.type.ClassType@3484af842023-02-12 17:50:28.995 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Class -> org.hibernate.type.ClassType@3484af842023-02-12 17:50:28.998 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-binary -> org.hibernate.type.UUIDBinaryType@4f4d74312023-02-12 17:50:28.998 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.util.UUID -> org.hibernate.type.UUIDBinaryType@4f4d74312023-02-12 17:50:29.000 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration uuid-char -> org.hibernate.type.UUIDCharType@38d037762023-02-12 17:50:29.002 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration binary -> org.hibernate.type.BinaryType@6fb96ade2023-02-12 17:50:29.003 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration byte[] -> org.hibernate.type.BinaryType@6fb96ade2023-02-12 17:50:29.003 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [B -> org.hibernate.type.BinaryType@6fb96ade2023-02-12 17:50:29.005 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-binary -> org.hibernate.type.WrapperBinaryType@201923e22023-02-12 17:50:29.006 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Byte[] -> org.hibernate.type.WrapperBinaryType@201923e22023-02-12 17:50:29.006 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Byte; -> org.hibernate.type.WrapperBinaryType@201923e22023-02-12 17:50:29.009 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration row_version -> org.hibernate.type.RowVersionType@8ffad762023-02-12 17:50:29.011 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration image -> org.hibernate.type.ImageType@723ca9ac2023-02-12 17:50:29.018 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration characters -> org.hibernate.type.CharArrayType@5afc7242023-02-12 17:50:29.020 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration char[] -> org.hibernate.type.CharArrayType@5afc7242023-02-12 17:50:29.020 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [C -> org.hibernate.type.CharArrayType@5afc7242023-02-12 17:50:29.023 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration wrapper-characters -> org.hibernate.type.CharacterArrayType@756ecb772023-02-12 17:50:29.024 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration [Ljava.lang.Character; -> org.hibernate.type.CharacterArrayType@756ecb772023-02-12 17:50:29.025 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration Character[] -> org.hibernate.type.CharacterArrayType@756ecb772023-02-12 17:50:29.027 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration text -> org.hibernate.type.TextType@20528c6f2023-02-12 17:50:29.031 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration ntext -> org.hibernate.type.NTextType@446c1342023-02-12 17:50:29.103 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration blob -> org.hibernate.type.BlobType@5da1d1862023-02-12 17:50:29.104 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Blob -> org.hibernate.type.BlobType@5da1d1862023-02-12 17:50:29.106 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_blob -> org.hibernate.type.MaterializedBlobType@65aa8c8a2023-02-12 17:50:29.123 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration clob -> org.hibernate.type.ClobType@7ef32c722023-02-12 17:50:29.125 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.Clob -> org.hibernate.type.ClobType@7ef32c722023-02-12 17:50:29.130 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration nclob -> org.hibernate.type.NClobType@6bd099752023-02-12 17:50:29.135 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.sql.NClob -> org.hibernate.type.NClobType@6bd099752023-02-12 17:50:29.137 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_clob -> org.hibernate.type.MaterializedClobType@2c9c66a52023-02-12 17:50:29.140 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration materialized_nclob -> org.hibernate.type.MaterializedNClobType@4fffca0f2023-02-12 17:50:29.156 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration serializable -> org.hibernate.type.SerializableType@7c1180602023-02-12 17:50:29.186 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration object -> org.hibernate.type.ObjectType@39075ec52023-02-12 17:50:29.187 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration java.lang.Object -> org.hibernate.type.ObjectType@39075ec52023-02-12 17:50:29.191 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_date -> org.hibernate.type.AdaptedImmutableType@74dea83b2023-02-12 17:50:29.192 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_time -> org.hibernate.type.AdaptedImmutableType@62fa37132023-02-12 17:50:29.193 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_timestamp -> org.hibernate.type.AdaptedImmutableType@1d1182332023-02-12 17:50:29.194 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_dbtimestamp -> org.hibernate.type.AdaptedImmutableType@b207fa52023-02-12 17:50:29.194 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar -> org.hibernate.type.AdaptedImmutableType@abe818a2023-02-12 17:50:29.194 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_calendar_date -> org.hibernate.type.AdaptedImmutableType@394f7d612023-02-12 17:50:29.195 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_binary -> org.hibernate.type.AdaptedImmutableType@28de60612023-02-12 17:50:29.195 DEBUG 20016 --- [ restartedMain] org.hibernate.type.BasicTypeRegistry : Adding type registration imm_serializable -> org.hibernate.type.AdaptedImmutableType@208bff882023-02-12 17:50:29.682 INFO 20016 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect2023-02-12 17:50:29.773 DEBUG 20016 --- [ restartedMain] o.h.type.spi.TypeConfiguration$Scope : Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@74d235a1] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@7bcd1c2f]2023-02-12 17:50:30.257 ERROR 20016 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: No identifier specified for entity: jpabook.jpashop.domain.Delivery2023-02-12 17:50:30.258 WARN 20016 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: jpabook.jpashop.domain.Delivery2023-02-12 17:50:30.261 INFO 20016 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2023-02-12 17:50:30.284 INFO 20016 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.2023-02-12 17:50:30.295 INFO 20016 --- [ restartedMain] o.apache.catalina.core.StandardService : Stopping service [Tomcat]2023-02-12 17:50:30.321 INFO 20016 --- [ restartedMain] ConditionEvaluationReportLoggingListener :Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.2023-02-12 17:50:30.405 ERROR 20016 --- [ restartedMain] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: jpabook.jpashop.domain.Deliveryat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.25.jar:5.3.25]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.25.jar:5.3.25]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.25.jar:5.3.25]at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.25.jar:5.3.25]at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.25.jar:5.3.25]at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.25.jar:5.3.25]at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.25.jar:5.3.25]at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.25.jar:5.3.25]at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.25.jar:5.3.25]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.25.jar:5.3.25]at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.8.jar:2.7.8]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.8.jar:2.7.8]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.8.jar:2.7.8]at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.8.jar:2.7.8]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.8.jar:2.7.8]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.8.jar:2.7.8]at jpabook.jpashop.JpashopApplication.main(JpashopApplication.java:10) ~[classes/:na]at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.7.8.jar:2.7.8]Caused by: org.hibernate.AnnotationException: No identifier specified for entity: jpabook.jpashop.domain.Deliveryat org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:266) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]at org.hibernate.cfg.InheritanceState.getElementsToProcess(InheritanceState.java:211) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:772) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:225) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:239) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:282) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1460) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1494) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.25.jar:5.3.25]at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.25.jar:5.3.25]at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.25.jar:5.3.25]at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.25.jar:5.3.25]at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.25.jar:5.3.25]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.25.jar:5.3.25]at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.25.jar:5.3.25]... 21 common frames omittedProcess finished with exit code 0
-
해결됨실무 환경 그대로 주문게시판 만들기 웹개발 기초 마스터
orcacle 19c
안녕하세요. 프로그램 설치관련해서 문의드립니다.오라클 19c를 설치하려고 하는데지정된 사용자에 대한 ACL 설정을 실패했습니다.이런 경고 문구가 뜨면서 설치를 할 수 없는 상황입니다.이런 경우 어떻게 해결해야 할까요? 웹 검색에서도 해결책을 찾지 못했습니다.. 현재 위도우11pro를 사용하고 있습니다.
-
해결됨스프링 핵심 원리 - 기본편
@Autowired를 사용하는 setter가 AppConfig를 설정 정보로 갖는 test 클래스에서도 실행 가능한 이유
안녕하세요! 김영한 선생님의 스프링 핵심 원리 강의를 수강하고 있는 학생입니다:)다름 아니라 setter 주입의 예제 코드와 관련하여 궁금한 점이 생겨서 질문을 남기게 되었습니다.강의 13:26에 나와있는 코드와 동일하게 setter와 생성자에 화면 출력 기능을 추가하였습니다. 그 결과, AutoAppConfig.class를 설정 정보로 하는 test 클래스를 실행하면 설명해주신 내용과 같이 생성자를 통한 의존 관계 주입이 먼저 일어나고 setter를 통한 의존 관계 주입이 나중에 일어남을 확인할 수 있었습니다.더 나아가 AutoAppConfig.class가 아닌 AppConfig.class를 설정 정보로 하는 test 클래스를 실행하면 콘솔 화면에 어떤 내용이 출력될지 호기심이 생겨 test.java.hello.core.beanfind 패키지에 위치한 ApplicationContextBasicFindTest 클래스를 실행하였습니다. 실행 전에 저는 orderService라는 이름의 스프링 빈이 등록되는 과정에서 orderServiceImpl() 생성자가 호출되기 때문에 System.out.println("1. OrderServiceImpl.OrderServiceImp"); 코드가 실행될 것이라 예상하였습니다.또한,(1) AppConfig.class엔 setMemberRepository()와 setDiscountPolicy()를 호출하는 코드가 없고 (2) AppConfig.class는 @ComponentScan를 사용하지 않기 때문에 setMemberRepository()와 setDiscountPolicy()가 @Autowired를 사용하고 있더라도 의존 관계를 자동으로 주입할 수 없어 해당 메소드(setter) 내부에 기재되어있는 System.out.println("memberRepository = " + memberRepository); 코드와 System.out.println("discountPolicy = " + discountPolicy); 코드는 실행되지 않을 거라 예상했습니다.하지만 저의 예상과는 다르게 setMemberRepository()와 setDiscountPolicy()가 모두 실행되었고 제가 어느 부분에서 잘못 생각하고 있는지 도움을 구하고자 질문을 남기게 되었습니다.
-
미해결스프링 핵심 원리 - 고급편
@Slf4j
@Slf4j 어노테이션 의미를 잘 모르겠습니다.현재로그추적기 부분에서 사용되는 부분에서요