월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 jdbc url
안녕하세요 강의를 듣던 중 h2 db와 연결이 정상적으로 되지 않는 것 같아 질문 남깁니다.기존에는 1. h2.bat을 실행시키고, 2. 웹 브라우저 ip 주소를 localhost로 변경하고 3. db파일을 생성하기 위해 JDBC URL에 jdbc:h2:~/jpashop과 같이 입력하면 c드라이브 사용자 폴더에 jpashop.mv.db 파일이 정상적으로 생성 됐었습니다근데 인텔리제이를 community버전에서 ultimate 버전으로 바꾸면서 뭔가 변동이 생긴 것인지(단순 추정입니다), 현재는 위와 같은 방식으로 진행해도 db파일이 생성되지 않고 Database "C:/Users/LG/jpashop" not found, either pre-create it or allow remote database creation (not recommended in secure environments) 과 같은 에러 메시지를 출력하는 것을 볼 수 있었습니다.따라서 다른 질문을 참조해보니, https://www.evernote.com/shard/s568/client/snv?noteGuid=fb1f3c6b-e985-e08f-4523-a34e523406e4¬eKey=e3976a810c1854c90695f9cddf1ab7bf&sn=https%3A%2F%2Fwww.evernote.com%2Fshard%2Fs568%2Fsh%2Ffb1f3c6b-e985-e08f-4523-a34e523406e4%2Fe3976a810c1854c90695f9cddf1ab7bf&title=H2%2B%25EB%258D%25B0%25EC%259D%25B4%25ED%2584%25B0%25EB%25B2%25A0%25EC%259D%25B4%25EC%258A%25A4%2B%25EC%2583%259D%25EC%2584%25B1%2B%25EB%25B0%25A9%25EB%25B2%2595%2528%25EC%259C%2588%25EB%258F%2584%25EC%259A%25B0%2529 링크를 확인할 수 있었고 h2에서 db파일을 따로 생성하여 작동에는 성공하였습니다.헌데, h2에서 db파일을 따로 생성하게 되면 trace.db 파일도 생성되고, 비밀번호도 설정해주고 yml에도 설정해줘야 하는 등 추가적인 작업이 있는 것을 확인할 수 있었습니다. 물론 별거 아닌 것들이지만, 기존에 쓰던 방식이 훨씬 편리한 것 같아 기존 방식(H2 콘솔의 JDBC URL 란을 통해 db파일을 생성)으로 돌아갈 수 있는 방법을 여쭙고 싶습니다.에러 로그로 확인해 봤을 때 allow remote database creation을 해주면 될 것 같은데, 이에 대해 질의드리고자 합니다.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
member테이블 생성.강의-JPA와 DB 설정, 동작확인
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. ->여기에 member 테이블이 생성이 안돼요. memberRepository-> Download https://repo.maven.apache.org/maven2/org/projectlombok/lombok/1.18.22/lombok-1.18.22.pom, took 721 ms (1.48 kB)Download https://repo.maven.apache.org/maven2/org/projectlombok/lombok/1.18.22/lombok-1.18.22.jar, took 1 s 605 ms (1.95 MB)> Task :compileJava> Task :processResources UP-TO-DATE> Task :classes> Task :compileTestJava UP-TO-DATE> Task :processTestResources NO-SOURCE> Task :testClasses UP-TO-DATE> Task :test06:07:24.485 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [MemberRepositoryTest]: using SpringBootContextLoader06:07:24.497 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [jpabook.jpashop.MemberRepositoryTest]: no resource found for suffixes {-context.xml, Context.groovy}.06:07:24.499 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [jpabook.jpashop.MemberRepositoryTest]: MemberRepositoryTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.06:07:24.552 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using ContextCustomizers for test class [MemberRepositoryTest]: [DisableObservabilityContextCustomizer, PropertyMappingContextCustomizer, Customizer, ExcludeFilterContextCustomizer, DuplicateJsonObjectContextCustomizer, MockitoContextCustomizer, TestRestTemplateContextCustomizer]06:07:24.654 [Test worker] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [C:\jpashop\build\classes\java\main\jpabook\jpashop\JpashopApplication.class]06:07:24.659 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration jpabook.jpashop.JpashopApplication for test class jpabook.jpashop.MemberRepositoryTest06:07:24.770 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners for test class [MemberRepositoryTest]: [ServletTestExecutionListener, DirtiesContextBeforeModesTestExecutionListener, ApplicationEventsTestExecutionListener, MockitoTestExecutionListener, DependencyInjectionTestExecutionListener, DirtiesContextTestExecutionListener, TransactionalTestExecutionListener, SqlScriptsTestExecutionListener, EventPublishingTestExecutionListener, RestDocsTestExecutionListener, MockRestServiceServerResetTestExecutionListener, MockMvcPrintOnlyOnFailureTestExecutionListener, WebDriverTestExecutionListener, MockWebServiceServerTestExecutionListener, ResetMocksTestExecutionListener]06:07:24.772 [Test worker] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: class [MemberRepositoryTest], class annotated with @DirtiesContext [false] with mode [null] . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.0.1)2023-01-10T06:07:25.056+09:00 INFO 7064 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Starting MemberRepositoryTest using Java 17.0.5 with PID 7064 (started by PC in C:\jpashop)2023-01-10T06:07:25.057+09:00 INFO 7064 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : No active profile set, falling back to 1 default profile: "default"2023-01-10T06:07:25.773+09:00 INFO 7064 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.2023-01-10T06:07:25.801+09:00 INFO 7064 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 16 ms. Found 0 JPA repository interfaces.2023-01-10T06:07:26.337+09:00 INFO 7064 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2023-01-10T06:07:26.672+09:00 INFO 7064 --- [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:fa15755d-1779-4e39-8761-6f8666e6b6b0 user=SA2023-01-10T06:07:26.675+09:00 INFO 7064 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.2023-01-10T06:07:26.741+09:00 INFO 7064 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]2023-01-10T06:07:26.833+09:00 INFO 7064 --- [ Test worker] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.1.6.Final2023-01-10T06:07:27.138+09:00 WARN 7064 --- [ Test worker] org.hibernate.orm.deprecation : HHH90000021: Encountered deprecated setting [javax.persistence.sharedCache.mode], use [jakarta.persistence.sharedCache.mode] instead2023-01-10T06:07:27.378+09:00 INFO 7064 --- [ Test worker] SQL dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect2023-01-10T06:07:28.468+09:00 INFO 7064 --- [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]2023-01-10T06:07:28.487+09:00 INFO 7064 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'2023-01-10T06:07:28.768+09:00 WARN 7064 --- [ Test worker] 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 warning2023-01-10T06:07:29.060+09:00 INFO 7064 --- [ Test worker] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]2023-01-10T06:07:29.360+09:00 INFO 7064 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Started MemberRepositoryTest in 4.529 seconds (process running for 6.173)2023-01-10T06:07:29.899+09:00 INFO 7064 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'2023-01-10T06:07:29.899+09:00 INFO 7064 --- [ionShutdownHook] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down'2023-01-10T06:07:29.902+09:00 INFO 7064 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2023-01-10T06:07:29.905+09:00 INFO 7064 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.BUILD SUCCESSFUL in 12s4 actionable tasks: 2 executed, 2 up-to-date오전 6:07:30: Execution finished ':test --tests "jpabook.jpashop.MemberRepositoryTest"'.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Transactinal 관련 질문
안녕하세요, @Transactinal 어노테이션 관련 질문드립니다. 테스트 코드에서 작성한 @Transactinal은 자동으로 RollBack을 시켜서 false 로 해당 기능을 끄고 직접 확인이 가능하다고 했는데, 서비스단에서 사용할때는 해당 코드를 작성하지 않아도 RollBack이 안되는 이유가 있을까요?
- 해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
문제가 발생 할 수 있는 이유가 이해가 되지 않습니다.
private void validateDuplicateMember(Member member) { List<Member> findMembers = memberRepository.findByName(member.getName()); if (!findMembers.isEmpty()){ throw new IllegalStateException("이미 존재하는 회원 입니다."); } }에서 memberA가 동시에 DB에 insert 될때 validateduplicate를 통과하면 동시에 memberA가 로직을 호출하게 되면 memberA라는이름으로 두명이 가입 됩니다. 그래서 memberA에 제약을 건다구 하셨는데제약을 거는거 어떤건지 잘 모르겠습니다. 1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
도메인 모델패턴과 트랜잭션 스크립트 패턴의 유용성 비교
강의에서 도메인 모델 패턴이라고 무조건 좋은게 아니고 트랜잭션 스크립트 패턴이라고 무조건 나쁜게 아니다, 라고 하셨는데 도메인 모델 패턴과 트랜잭션 스크립트 패턴 각각 어떤 상황에서 사용하면 더 유용한지 궁금합니다.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
변경감지 update
강의에서 jpa의 진가가 update 쿼리를 안날려줘도 되는 것에 있다. 라고 말씀하셨는데 설명하시면서 jpa가 아니라 직접적으로 쿼리를 다루게 되면 이걸 다 빼서 update을 해줘야하고... 이런식으로 말씀하셨는데 이게 이해가 안갑니다 ㅠ_ㅠ 변경감지 자체는 알겠어요 근데 jpa를 쓰지 않았을 때에 이걸 다시 빼서 update 쿼리를 날려줘야 한다는게 무슨 뜻인지 모르겠어요. jpa를 사용하지 않으면 어디 클래스에서 update을 개발자가 해줘야 하나요? 그리고 이게 약간 코드가 더러워지는? 뉘앙스로 얘기하시는걸로 이해했는데 이런 의도가 맞는지 궁금합니다.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
왜 addStock, removeStock 메서드를 사용하는 것이 왜 객체지향적인지
강의에서 setter 메소드로 재고 수량을 조절하는게 아니라 addStock 메서드, removeStock 메서드를 이용해 재고 수량을 조절하는 것이 객체지향적이라고 하셨는데 왜 이게 객체지향적인지, setter 메소드를 사용하는 것이 왜 객체지향과는 거리가 있는 것인지 자세하게 설명 부탁드립니다. 감사합니다
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Jpa 를 이용하면 자바 객체를 pojo하게 가져갈 수 있나요?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]🧶 상황 설명 : spring jdbc 로 구현중입니다. 엔티티 객체와 도메인에서 사용하는 객체를 분리했습니다.. 영속성 중간에 converting 해주는 과정이 있습니다.🧶 이렇게 구현한 이유 : 도메인 객체는 순수 자바로만 이루어지게끔 하고 싶었어요. 다른 기술이나 영속성 관련 정보 (@Table, @Id)등의 부가정보와 의존성을 해당 도메인 레어어와 객체에 넣고 싶지 않았습니다. 🧶 그래서 질문 :Jpa 를 이용하면 POJO 하게 사용하는 것을 포기해야하나요?방법이 있을까요?POJO 하게 사용한다는 것이 어떤 거라고 생각하세요?분리없이 하나의 객체로 사용하는 것과 도메인과 레포지토리 객체를 분리하여 POJO 하게 지키는 것 중 어느 것이 더 낫다고 생각하세요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Entity 내의 로직들, 생성 함수에 대한 질문
안녕하세요! 간단한 질문이 있어서 살짝 남겨보게 되었습니다. 1. 지금까지 JPA 강의를 들으면서 - "Entity 에는 Setter 를 열어두지 말고, Getter 만 열어둔채, 초기값 Setting 에는 생성자를 사용하라. 그리고 변경에 대해서 setter 가 필요하다면 그 때 열어두고, 연관관계에 대해 수정시 setting 외의 로직을 수행해야 하기 때문에 change, modify 등의 수식어를 사용해서 함수를 만들어라 ". 정도로 이해하고 있었습니다. 이 관점에서 createOrder() 함수는 설명해주신대로 그냥 Order 을 생성해주는 함수고, 초기값을 setting 해주는 함수인데, 이게 생성자와 어떤 점에서 다른지 이해가 잘 되지 못했습니다. public Order(Member member, Delivery delivery, OrderItem ... orderItems){ this.member = member; this.delivery = delivery; ... OrderItem for 문 this.status = OrderStatus.ORDER; this.orderDate = LocalDateTime.now(); }위처럼 그냥 생성만 해주는 함수와 어떤 차이가 있는지 이해를 못하였습니다 ㅠㅠ2. 비즈니스 로직들을 Service 단에서 수행하지 않고, Entity Class에서 모두 짜는 이유가 잘 이해가 되지 않았습니다 ㅠ 애를 들면 cancel() 의 명령어 같은 경우, ~~ /orderItem/cancel/3 이런식으로 들어오게 된다면, Service Layer 에서 OrderItem 조회하고, Repository 를 호출하며 Order에 대한 \ 필요 로직 수행, Item에 대한 필요로직 수행을 하는것으로 생각을 했어서 그런 것 같습니다. 지금 현재 강의 부분과 같은 설계는 약간 영속성 컨텍스트를 계속 관리하면서 필요 SQL들이 자연스럽게 호출되게 하는 방식인 느낌인데 이런 방향이 맞을까요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@PersistenceContext 에 대하여
안녕하세요강의 중 @PersistenceContext 에 대해 궁금한 점이 생겨서 질문을 남기게 되었습니다.JPA 기본편 강의도 완강 후에 듣고 있는 상태인데요, 제가 이해했었던 바는, 한 영속성 컨텍스트에는 한 EntityManagerFactory 가 할당되고, 그 영컨에서 진행하는 각각의 트랜젝션들을 처리하기 위해 EMF가 각각 EntityManager를 생성하여 트랜젝션마다 할당해서 처리할 수 있도록 도와준다고 이해하였습니다.위에 이해한 바가 맞다면, 앱이 실행되면서 MemberRepository 가 싱글톤 컨테이너에 의해 관리되기 시작하면서, 이 때는 EntityManager 가 트랜젝션이 들어오지 않았기 때문에 할당받지 못한 상태여야 할 것 같습니다. 그리고 save, findOne, findAll 등의 트랜젝션을 수행하기 위한 함수들이 호출될 시 EntityManager 가 생성되고 할당받는 것이 맞을까요? 즉, 싱글톤 컨테이너 안에 있는 Repository 안에 있는 EntityManager em 은 트랜젝션이 수행되기 전에는 NULL이라고 보면 될까요?제가 이해한 내용이 맞는지 궁금해서 문의글 남기게 되었습니다. 항상 도움주셔서 감사합니다 :]
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
./gradlew clean build 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.jpashop % ./gradlew clean build > Task :test JpashopApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1804 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:275 Caused by: org.hibernate.HibernateException at DialectFactoryImpl.java:100 MemberRepositoryTest > testMember FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1804 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:275 Caused by: org.hibernate.HibernateException at DialectFactoryImpl.java:100 2 tests completed, 2 failed > Task :test FAILED FAILURE: Build failed with an exception. * What went wrong:Execution failed for task ':test'.> There were failing tests. See the report at: file:///Users/king/study/jpashop/build/reports/tests/test/index.html * Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 17s task.named 전부 주석처리 해보고 밑에 useJunutPlatform이부분도 주석처리 해보고 했는데도 오류 납니다 RunWith도 지워보고 해봣는데 안됩니다
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티 업데이트 시 select 쿼리 문제
안녕하세요! 좋은 강의 잘 듣고 있습니다.엔티티를 수정하는 경우 merge vs 변경감지를 활용하는 두 가지 방식을 설명해 주셨고, 이 중 변경감지를 활용하는게 좋다고 설명해 주셨습니다.그러나 위 두 방법 모두 식별자를 기반으로 select 쿼리를 날린 후 commit 시점에 update 쿼리를 날리게 됩니다. 이 시점에서 실제로 update 쿼리만 날려도 되는 기능인데, 불필요하게 select 쿼리까지 사용하게 되는 것이죠.따라서 update를 하는 경우에는 직접 JPQL을 이용하여(혹은 queryDSL을 이용하여 동적 쿼리를 쉽게 작성) update문을 작성하는 방식이 성능상 더 유리하지 않을까 하는 생각을 했습니다.이 부분에 대해서는 어떻게 생각하시나요? 성능상으로는 미세하게나마 update 쿼리를 직접 작성하는 것이 유리할 것 같은데, 변경감지를 사용하는 경우 상대적으로 어떤 이점이 있을까요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
중복_회원_예외 오류 질문
제 멤버 서비스 코드"C:\Program Files\Amazon Corretto\jdk11.0.16_9\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.1\lib\idea_rt.jar=9425:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.1\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.1\plugins\junit\lib\junit5-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.2.1\plugins\junit\lib\junit-rt.jar;C:\Users\pmsuk\Desktop\jpashop\jpashop\out\test\classes;C:\Users\pmsuk\Desktop\jpashop\jpashop\out\test\resources;C:\Users\pmsuk\Desktop\jpashop\jpashop\out\production\classes;C:\Users\pmsuk\Desktop\jpashop\jpashop\out\production\resources;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-data-jpa\2.7.7\bc28a10c4fc39f01e9233db84f132eb4b8c53390\spring-boot-starter-data-jpa-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-thymeleaf\2.7.7\5d80dd18f2f1945e3dc568fa30ac106e329a4bde\spring-boot-starter-thymeleaf-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-validation\2.7.7\b29d0346e75f3d508d32377af0c9694ef5ab5714\spring-boot-starter-validation-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\2.7.7\b551cc70136739c9834ed278c25d24efa8abe66e\spring-boot-starter-web-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-devtools\2.7.7\b99143fddbbb93af91875a00a59e4b9847c49113\spring-boot-devtools-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.github.gavlyukovskiy\p6spy-spring-boot-starter\1.8.1\688ddcdba46c6f38353b02443ca17db0fbb1f93\p6spy-spring-boot-starter-1.8.1.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-test\2.7.7\204419b38438a398fe43bed95fb835d4ddeb2d2e\spring-boot-starter-test-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.junit.vintage\junit-vintage-engine\5.8.2\64dde404f2db8b0e2ec6a53d31f4a076e298b1d1\junit-vintage-engine-5.8.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-aop\2.7.7\68062ada4148e4914a3b96046030fbcd5e0a62fa\spring-boot-starter-aop-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-jdbc\2.7.7\404134263ab70e1f41ecc2d0bbf6446f9afc3e02\spring-boot-starter-jdbc-2.7.7.jar;C:\Users\pmsuk\.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\pmsuk\.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\pmsuk\.gradle\caches\modules-2\files-2.1\org.hibernate\hibernate-core\5.6.14.Final\71e407089b71ed7c6e99385fd851c308fed7be44\hibernate-core-5.6.14.Final.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-jpa\2.7.6\8d0414f5cca5e31509943cd5f97cacdddd7c7384\spring-data-jpa-2.7.6.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aspects\5.3.24\e97d36c3e516d3dd0579437428b6e26902da0c88\spring-aspects-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\2.7.7\dd06582c2b6b911bdf1be4f3a40e7b63a5ae75d7\spring-boot-starter-2.7.7.jar;C:\Users\pmsuk\.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\pmsuk\.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\pmsuk\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\9.0.70\37244bed53a3e5cca5b39611fded5274da79a281\tomcat-embed-el-9.0.70.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.hibernate.validator\hibernate-validator\6.2.5.Final\a68959c06e5f8ff45faff469aa16f232c04af620\hibernate-validator-6.2.5.Final.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\2.7.7\3a666cbb67c398d00ff8e372b8a49c2f86d841f\spring-boot-starter-json-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\2.7.7\2110ccddc766217bbc3e9194ee637d4ef32e58e9\spring-boot-starter-tomcat-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\5.3.24\33d2187c2bf1cb2c222bd1cc18b618736babcf3d\spring-webmvc-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\5.3.24\d89bbcaabb1ff247a089875cbc4211bfe96c9a59\spring-web-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\2.7.7\8da88afca89ce4b1ab5762e6ca35e1bad196ad47\spring-boot-autoconfigure-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\2.7.7\1fa59eb2fce0363bdf152d7660b784257bfac99b\spring-boot-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.github.gavlyukovskiy\datasource-decorator-spring-boot-autoconfigure\1.8.1\72b16dae8f3855d80c91a78ad5c2cacbf715cdcd\datasource-decorator-spring-boot-autoconfigure-1.8.1.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\p6spy\p6spy\3.9.0\7fedf78cc1e53a623a7b36d1f2705790836400aa\p6spy-3.9.0.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter\5.8.2\5a817b1e63f1217e5c586090c45e681281f097ad\junit-jupiter-5.8.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-test-autoconfigure\2.7.7\ae1417f8f60f4ca378568d965e69a7f043e65397\spring-boot-test-autoconfigure-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-test\2.7.7\aff19a025de03eaa2f465dd5c9bc5fe128da69c9\spring-boot-test-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.jayway.jsonpath\json-path\2.7.0\f9d7d9659f2694e61142046ff8a216c047f263e8\json-path-2.7.0.jar;C:\Users\pmsuk\.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\pmsuk\.gradle\caches\modules-2\files-2.1\org.assertj\assertj-core\3.22.0\c300c0c6a24559f35fa0bd3a5472dc1edcd0111e\assertj-core-3.22.0.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.hamcrest\hamcrest\2.2\1820c0968dba3a11a1b30669bb1f01978a91dedc\hamcrest-2.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.mockito\mockito-junit-jupiter\4.5.1\f81fb60bd69b3a6e5537ae23b883326f01632a61\mockito-junit-jupiter-4.5.1.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.mockito\mockito-core\4.5.1\ed456e623e5afc6f4cee3ae58144e5c45f3b3bf\mockito-core-4.5.1.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.skyscreamer\jsonassert\1.5.1\6d842d0faf4cf6725c509a5e5347d319ee0431c3\jsonassert-1.5.1.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-test\5.3.24\dcad3d7fa11fe832005667ab074a54a9546a59ac\spring-test-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\5.3.24\d095c329f30baf2b6d44eccbd2352d7a2f840c72\spring-core-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.xmlunit\xmlunit-core\2.9.0\8959725d90eecfee28acd7110e2bb8460285d876\xmlunit-core-2.9.0.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-engine\1.8.2\b737de09f19864bd136805c84df7999a142fec29\junit-platform-engine-1.8.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\junit\junit\4.13.2\8ac9e16d933b6fb43bc7f576336b8f4d7eb5ba12\junit-4.13.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.apiguardian\apiguardian-api\1.1.2\a231e0d844d2721b0fa1b238006d15c6ded6842a\apiguardian-api-1.1.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\5.3.24\efd01bc1048a2e1b6a7442fbd78170bc02c342b7\spring-aop-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.aspectj\aspectjweaver\1.9.7\158f5c255cd3e4408e795b79f7c3fbae9b53b7ca\aspectjweaver-1.9.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jdbc\5.3.24\909c19ab470a59b9fd23177d26b8e880733b15d4\spring-jdbc-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.zaxxer\HikariCP\4.0.3\107cbdf0db6780a065f895ae9d8fbf3bb0e1c21f\HikariCP-4.0.3.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\jaxb-runtime\2.3.7\ebcde6a44159eb9e3db721dfe6b45f26e6272341\jaxb-runtime-2.3.7.jar;C:\Users\pmsuk\.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\pmsuk\.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\pmsuk\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy\1.12.20\6ec3b8bccc4c988790d8cde5baad3b95609ef136\byte-buddy-1.12.20.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\antlr\antlr\2.7.7\83cd2cd674a217ade95a4bb83a8a14f351f48bd0\antlr-2.7.7.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.jboss\jandex\2.4.2.Final\1e1c385990b258ff1a24c801e84aebbacf70eb39\jandex-2.4.2.Final.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.fasterxml\classmate\1.5.1\3fe0bed568c62df5e89f4f174c101eab25345b6c\classmate-1.5.1.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-orm\5.3.24\256e029c2d8200294fe7fb5352ca2d1d7310dcad\spring-orm-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.data\spring-data-commons\2.7.6\e3d15a8f4d5ef0d2323569445c66903d0188cb68\spring-data-commons-2.7.6.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\5.3.24\e48634d7b8f40d4d0fe978830be0247bfc2ff2cd\spring-context-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-tx\5.3.24\175a2157fce17669af6d4db1d094cb4baaa5c8fd\spring-tx-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\5.3.24\e487ea6de09b9a7c36548028feeafa511a593532\spring-beans-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.36\6c62681a2f655b49963a5983b8b0950a6120ae14\slf4j-api-1.7.36.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\2.7.7\c71bdb4e93d75b535fef277606868d1d6934c35\spring-boot-starter-logging-2.7.7.jar;C:\Users\pmsuk\.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\pmsuk\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.30\8fde7fe2586328ac3c68db92045e1c8759125000\snakeyaml-1.30.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf\3.0.15.RELEASE\13e3296a03d8a597b734d832ed8656139bf9cdd8\thymeleaf-3.0.15.RELEASE.jar;C:\Users\pmsuk\.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\pmsuk\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.13.4\e6d820112871f33cd94a1dcc54eef58874753b5\jackson-datatype-jsr310-2.13.4.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.13.4\858ccf6624b5fac6044813e845063edb6a62cf37\jackson-module-parameter-names-2.13.4.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.13.4\557dbba5d8dfc7b7f944c58fe084109afcb5670b\jackson-datatype-jdk8-2.13.4.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.13.4.2\325c06bdfeb628cfb80ebaaf1a26cc1eb558a585\jackson-databind-2.13.4.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\9.0.70\3dbd48222828d4123b74abb3664eb84c388e9832\tomcat-embed-websocket-9.0.70.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\9.0.70\517f236dc4e45ecec94d8bf1c7037f952ad1e316\tomcat-embed-core-9.0.70.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\5.3.24\ae7410418e7b4bd27a01e3fb1c2fed35b2bc1e84\spring-expression-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-params\5.8.2\ddeafe92fc263f895bfb73ffeca7fd56e23c2cce\junit-jupiter-params-5.8.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-api\5.8.2\4c21029217adf07e4c0d0c5e192b6bf610c94bdc\junit-jupiter-api-5.8.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\net.minidev\json-smart\2.4.8\7c62f5f72ab05eb54d40e2abf0360a2fe9ea477f\json-smart-2.4.8.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\jakarta.activation\jakarta.activation-api\1.2.2\99f53adba383cb1bf7c3862844488574b559621f\jakarta.activation-api-1.2.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.12.20\c37341e04a529c7263ff3093ecdceaa4ab39b489\byte-buddy-agent-1.12.20.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.vaadin.external.google\android-json\0.0.20131108.vaadin1\fa26d351fe62a6a17f5cda1287c1c6110dec413f\android-json-0.0.20131108.vaadin1.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\5.3.24\2b30878663ceed2af07238dc54e92e5bf001438d\spring-jcl-5.3.24.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.junit.platform\junit-platform-commons\1.8.2\32c8b8617c1342376fd5af2053da6410d8866861\junit-platform-commons-1.8.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.opentest4j\opentest4j\1.2.0\28c11eb91f9b6d8e200631d46e20a7f407f2a046\opentest4j-1.2.0.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.glassfish.jaxb\txw2\2.3.7\55cddcac1945150e09b09b0f89d86799652eee82\txw2-2.3.7.jar;C:\Users\pmsuk\.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\pmsuk\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.2.11\4741689214e9d1e8408b206506cbe76d1c6a7d60\logback-classic-1.2.11.jar;C:\Users\pmsuk\.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\pmsuk\.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\pmsuk\.gradle\caches\modules-2\files-2.1\org.attoparser\attoparser\2.0.5.RELEASE\a93ad36df9560de3a5312c1d14f69d938099fa64\attoparser-2.0.5.RELEASE.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.unbescape\unbescape\1.1.6.RELEASE\7b90360afb2b860e09e8347112800d12c12b2a13\unbescape-1.1.6.RELEASE.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.13.4\858c6cc78e1f08a885b1613e1d817c829df70a6e\jackson-annotations-2.13.4.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.13.4\cf934c681294b97ef6d80082faeefbe1edadf56\jackson-core-2.13.4.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\net.minidev\accessors-smart\2.4.8\6e1bee5a530caba91893604d6ab41d0edcecca9a\accessors-smart-2.4.8.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.2.11\a01230df5ca5c34540cdaa3ad5efb012f1f1f792\logback-core-1.2.11.jar;C:\Users\pmsuk\.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\pmsuk\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm\9.1\a99500cf6eea30535eeac6be73899d048f8d12a8\asm-9.1.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.h2database\h2\2.1.214\d5c2005c9e3279201e12d4776c948578b16bf8b2\h2-2.1.214.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.junit.jupiter\junit-jupiter-engine\5.8.2\c598b4328d2f397194d11df3b1648d68d7d990e3\junit-jupiter-engine-5.8.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\org.objenesis\objenesis\3.2\7fadf57620c8b8abdf7519533e5527367cb51f09\objenesis-3.2.jar;C:\Users\pmsuk\.gradle\caches\modules-2\files-2.1\com.sun.activation\jakarta.activation\1.2.2\74548703f9851017ce2f556066659438019e7eb5\jakarta.activation-1.2.2.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 jpabook.jpashop.service.MemberServiceTest,중복_회원_예외18:26:27.444 [main] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class jpabook.jpashop.service.MemberServiceTest]18:26:27.452 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]18:26:27.463 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]18:26:27.512 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [jpabook.jpashop.service.MemberServiceTest] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]18:26:27.526 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [jpabook.jpashop.service.MemberServiceTest], using SpringBootContextLoader18:26:27.532 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [jpabook.jpashop.service.MemberServiceTest]: class path resource [jpabook/jpashop/service/MemberServiceTest-context.xml] does not exist18:26:27.532 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [jpabook.jpashop.service.MemberServiceTest]: class path resource [jpabook/jpashop/service/MemberServiceTestContext.groovy] does not exist18:26:27.533 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [jpabook.jpashop.service.MemberServiceTest]: no resource found for suffixes {-context.xml, Context.groovy}.18:26:27.533 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [jpabook.jpashop.service.MemberServiceTest]: MemberServiceTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.18:26:27.604 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [jpabook.jpashop.service.MemberServiceTest]18:26:27.708 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [C:\Users\pmsuk\Desktop\jpashop\jpashop\out\production\classes\jpabook\jpashop\JpashopApplication.class]18:26:27.710 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration jpabook.jpashop.JpashopApplication for test class jpabook.jpashop.service.MemberServiceTest18:26:27.853 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [jpabook.jpashop.service.MemberServiceTest]: using defaults.18:26:27.853 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener]18:26:27.875 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@4e423aa2, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@7fbdb894, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@3081f72c, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@3148f668, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@6e005dc9, org.springframework.test.context.support.DirtiesContextTestExecutionListener@7ceb3185, org.springframework.test.context.transaction.TransactionalTestExecutionListener@436c81a3, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@3561c410, org.springframework.test.context.event.EventPublishingTestExecutionListener@59e32960, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@7c214cc0, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@5b67bb7e, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@609db546, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@20f5281c, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@56c4278e, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@301eda63]18:26:27.877 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.service.MemberServiceTest]18:26:27.878 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.service.MemberServiceTest]18:26:27.879 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.service.MemberServiceTest]18:26:27.879 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.service.MemberServiceTest]18:26:27.879 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.service.MemberServiceTest]18:26:27.879 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.service.MemberServiceTest]18:26:27.888 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.service.MemberServiceTest]18:26:27.888 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.service.MemberServiceTest]18:26:27.889 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.service.MemberServiceTest]18:26:27.890 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.service.MemberServiceTest]18:26:27.890 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.service.MemberServiceTest]18:26:27.891 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.service.MemberServiceTest]18:26:27.897 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@21ba0741 testClass = MemberServiceTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@58ce9668 testClass = MemberServiceTest, locations = '{}', classes = '{class jpabook.jpashop.JpashopApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@5609159b, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@28975c28, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@236e3f4e, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@69fb6037, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@2525ff7e, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@7c7b252e], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null].18:26:27.899 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [jpabook.jpashop.service.MemberServiceTest]18:26:27.899 [main] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [jpabook.jpashop.service.MemberServiceTest] . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.7)2023-01-05 18:26:28.391 INFO 10632 --- [ main] j.jpashop.service.MemberServiceTest : Starting MemberServiceTest using Java 11.0.16.1 on jins with PID 10632 (started by pmsuk in C:\Users\pmsuk\Desktop\jpashop\jpashop)2023-01-05 18:26:28.392 INFO 10632 --- [ main] j.jpashop.service.MemberServiceTest : No active profile set, falling back to 1 default profile: "default"2023-01-05 18:26:29.101 INFO 10632 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.2023-01-05 18:26:29.122 INFO 10632 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 11 ms. Found 0 JPA repository interfaces.2023-01-05 18:26:30.114 INFO 10632 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2023-01-05 18:26:30.386 INFO 10632 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.2023-01-05 18:26:30.467 INFO 10632 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]2023-01-05 18:26:30.553 INFO 10632 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.14.Final2023-01-05 18:26:30.788 INFO 10632 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}2023-01-05 18:26:30.976 INFO 10632 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect2023-01-05 18:26:31.890 DEBUG 10632 --- [ main] org.hibernate.SQL : drop table if exists category CASCADE 2023-01-05 18:26:31.895 INFO 10632 --- [ main] p6spy : #1672910791895 | took 1ms | statement | connection 2| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists category CASCADE drop table if exists category CASCADE ;2023-01-05 18:26:31.896 DEBUG 10632 --- [ main] org.hibernate.SQL : drop table if exists category_item CASCADE 2023-01-05 18:26:31.896 INFO 10632 --- [ main] p6spy : #1672910791896 | took 0ms | statement | connection 2| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists category_item CASCADE drop table if exists category_item CASCADE ;2023-01-05 18:26:31.896 DEBUG 10632 --- [ main] org.hibernate.SQL : drop table if exists delivery CASCADE 2023-01-05 18:26:31.896 INFO 10632 --- [ main] p6spy : #1672910791896 | took 0ms | statement | connection 2| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists delivery CASCADE drop table if exists delivery CASCADE ;2023-01-05 18:26:31.896 DEBUG 10632 --- [ main] org.hibernate.SQL : drop table if exists item CASCADE 2023-01-05 18:26:31.896 INFO 10632 --- [ main] p6spy : #1672910791896 | took 0ms | statement | connection 2| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists item CASCADE drop table if exists item CASCADE ;2023-01-05 18:26:31.896 DEBUG 10632 --- [ main] org.hibernate.SQL : drop table if exists order_item CASCADE 2023-01-05 18:26:31.896 INFO 10632 --- [ main] p6spy : #1672910791896 | took 0ms | statement | connection 2| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists order_item CASCADE drop table if exists order_item CASCADE ;2023-01-05 18:26:31.896 DEBUG 10632 --- [ main] org.hibernate.SQL : drop table if exists orders CASCADE 2023-01-05 18:26:31.896 INFO 10632 --- [ main] p6spy : #1672910791896 | took 0ms | statement | connection 2| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists orders CASCADE drop table if exists orders CASCADE ;2023-01-05 18:26:31.896 DEBUG 10632 --- [ main] org.hibernate.SQL : drop sequence if exists hibernate_sequence2023-01-05 18:26:31.897 INFO 10632 --- [ main] p6spy : #1672910791897 | took 0ms | statement | connection 2| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop sequence if exists hibernate_sequencedrop sequence if exists hibernate_sequence;2023-01-05 18:26:31.899 DEBUG 10632 --- [ main] org.hibernate.SQL : create sequence hibernate_sequence start with 1 increment by 12023-01-05 18:26:31.901 INFO 10632 --- [ main] p6spy : #1672910791901 | took 1ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280create sequence hibernate_sequence start with 1 increment by 1create sequence hibernate_sequence start with 1 increment by 1;2023-01-05 18:26:31.901 DEBUG 10632 --- [ main] org.hibernate.SQL : create table category (category_id bigint not null, name varchar(255), parent_id bigint, primary key (category_id))2023-01-05 18:26:31.906 INFO 10632 --- [ main] p6spy : #1672910791906 | took 4ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280create 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));2023-01-05 18:26:31.906 DEBUG 10632 --- [ main] org.hibernate.SQL : create table category_item (category_id bigint not null, item_id bigint not null)2023-01-05 18:26:31.907 INFO 10632 --- [ main] p6spy : #1672910791907 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280create 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);2023-01-05 18:26:31.907 DEBUG 10632 --- [ main] org.hibernate.SQL : create table delivery (delivery_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), status varchar(255), primary key (delivery_id))2023-01-05 18:26:31.907 INFO 10632 --- [ main] p6spy : #1672910791907 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280create table delivery (delivery_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), status varchar(255), primary key (delivery_id))create table delivery (delivery_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), status varchar(255), primary key (delivery_id));2023-01-05 18:26:31.908 DEBUG 10632 --- [ main] 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), primary key (item_id))2023-01-05 18:26:31.908 INFO 10632 --- [ main] p6spy : #1672910791908 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280create 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), 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), primary key (item_id));2023-01-05 18:26:31.908 DEBUG 10632 --- [ main] org.hibernate.SQL : create table order_item (order_item_id bigint not null, order_price integer not null, count integer not null, item_id bigint, order_id bigint, primary key (order_item_id))2023-01-05 18:26:31.909 INFO 10632 --- [ main] p6spy : #1672910791909 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280create table order_item (order_item_id bigint not null, order_price integer not null, count integer not null, item_id bigint, order_id bigint, primary key (order_item_id))create table order_item (order_item_id bigint not null, order_price integer not null, count integer not null, item_id bigint, order_id bigint, primary key (order_item_id));2023-01-05 18:26:31.909 DEBUG 10632 --- [ main] org.hibernate.SQL : create table orders (member_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), name varchar(255), order_id bigint not null, order_date timestamp, status integer, delivery_id bigint, primary key (order_id))2023-01-05 18:26:31.910 INFO 10632 --- [ main] p6spy : #1672910791910 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280create table orders (member_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), name varchar(255), order_id bigint not null, order_date timestamp, status integer, delivery_id bigint, primary key (order_id))create table orders (member_id bigint not null, city varchar(255), street varchar(255), zipcode varchar(255), name varchar(255), order_id bigint not null, order_date timestamp, status integer, delivery_id bigint, primary key (order_id));2023-01-05 18:26:31.910 DEBUG 10632 --- [ main] org.hibernate.SQL : alter table category add constraint FK2y94svpmqttx80mshyny85wqr foreign key (parent_id) references category2023-01-05 18:26:31.923 INFO 10632 --- [ main] p6spy : #1672910791923 | took 13ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280alter table category add constraint FK2y94svpmqttx80mshyny85wqr foreign key (parent_id) references categoryalter table category add constraint FK2y94svpmqttx80mshyny85wqr foreign key (parent_id) references category;2023-01-05 18:26:31.923 DEBUG 10632 --- [ main] org.hibernate.SQL : alter table category_item add constraint FKu8b4lwqutcdq3363gf6mlujq foreign key (item_id) references item2023-01-05 18:26:31.924 INFO 10632 --- [ main] p6spy : #1672910791924 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280alter table category_item add constraint FKu8b4lwqutcdq3363gf6mlujq foreign key (item_id) references itemalter table category_item add constraint FKu8b4lwqutcdq3363gf6mlujq foreign key (item_id) references item;2023-01-05 18:26:31.924 DEBUG 10632 --- [ main] org.hibernate.SQL : alter table category_item add constraint FKcq2n0opf5shyh84ex1fhukcbh foreign key (category_id) references category2023-01-05 18:26:31.925 INFO 10632 --- [ main] p6spy : #1672910791925 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280alter table category_item add constraint FKcq2n0opf5shyh84ex1fhukcbh foreign key (category_id) references categoryalter table category_item add constraint FKcq2n0opf5shyh84ex1fhukcbh foreign key (category_id) references category;2023-01-05 18:26:31.925 DEBUG 10632 --- [ main] org.hibernate.SQL : alter table order_item add constraint FKija6hjjiit8dprnmvtvgdp6ru foreign key (item_id) references item2023-01-05 18:26:31.926 INFO 10632 --- [ main] p6spy : #1672910791926 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280alter table order_item add constraint FKija6hjjiit8dprnmvtvgdp6ru foreign key (item_id) references itemalter table order_item add constraint FKija6hjjiit8dprnmvtvgdp6ru foreign key (item_id) references item;2023-01-05 18:26:31.926 DEBUG 10632 --- [ main] org.hibernate.SQL : alter table order_item add constraint FKt4dc2r9nbvbujrljv3e23iibt foreign key (order_id) references orders2023-01-05 18:26:31.927 INFO 10632 --- [ main] p6spy : #1672910791927 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280alter table order_item add constraint FKt4dc2r9nbvbujrljv3e23iibt foreign key (order_id) references ordersalter table order_item add constraint FKt4dc2r9nbvbujrljv3e23iibt foreign key (order_id) references orders;2023-01-05 18:26:31.927 DEBUG 10632 --- [ main] org.hibernate.SQL : alter table orders add constraint FKtkrur7wg4d8ax0pwgo0vmy20c foreign key (delivery_id) references delivery2023-01-05 18:26:31.928 INFO 10632 --- [ main] p6spy : #1672910791928 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280alter table orders add constraint FKtkrur7wg4d8ax0pwgo0vmy20c foreign key (delivery_id) references deliveryalter table orders add constraint FKtkrur7wg4d8ax0pwgo0vmy20c foreign key (delivery_id) references delivery;2023-01-05 18:26:31.928 DEBUG 10632 --- [ main] org.hibernate.SQL : alter table orders add constraint FK7r0tyht0hnavc7salwjr121tu foreign key (member_id) references orders2023-01-05 18:26:31.928 INFO 10632 --- [ main] p6spy : #1672910791928 | took 0ms | statement | connection 3| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280alter table orders add constraint FK7r0tyht0hnavc7salwjr121tu foreign key (member_id) references ordersalter table orders add constraint FK7r0tyht0hnavc7salwjr121tu foreign key (member_id) references orders;2023-01-05 18:26:31.931 INFO 10632 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]2023-01-05 18:26:31.943 INFO 10632 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'2023-01-05 18:26:32.311 WARN 10632 --- [ main] 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 warning2023-01-05 18:26:32.638 INFO 10632 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]2023-01-05 18:26:33.058 INFO 10632 --- [ main] j.jpashop.service.MemberServiceTest : Started MemberServiceTest in 5.115 seconds (JVM running for 6.149)2023-01-05 18:26:33.163 INFO 10632 --- [ main] o.s.t.c.transaction.TransactionContext : Began transaction (1) for test context [DefaultTestContext@21ba0741 testClass = MemberServiceTest, testInstance = jpabook.jpashop.service.MemberServiceTest@7ba623d1, testMethod = 중복_회원_예외@MemberServiceTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@58ce9668 testClass = MemberServiceTest, locations = '{}', classes = '{class jpabook.jpashop.JpashopApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@5609159b, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@28975c28, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@236e3f4e, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@69fb6037, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@2525ff7e, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@7c7b252e], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]; transaction manager [org.springframework.orm.jpa.JpaTransactionManager@6a95c2f6]; rollback [true]2023-01-05 18:26:33.447 DEBUG 10632 --- [ main] org.hibernate.SQL : select member0_.member_id as member_i1_5_, member0_.city as city2_5_, member0_.street as street3_5_, member0_.zipcode as zipcode4_5_, member0_.name as name5_5_ from orders member0_ where member0_.name=?2023-01-05 18:26:33.467 INFO 10632 --- [ main] p6spy : #1672910793467 | took 8ms | statement | connection 4| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280select member0_.member_id as member_i1_5_, member0_.city as city2_5_, member0_.street as street3_5_, member0_.zipcode as zipcode4_5_, member0_.name as name5_5_ from orders member0_ where member0_.name=?select member0_.member_id as member_i1_5_, member0_.city as city2_5_, member0_.street as street3_5_, member0_.zipcode as zipcode4_5_, member0_.name as name5_5_ from orders member0_ where member0_.name='kim';2023-01-05 18:26:33.483 DEBUG 10632 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence2023-01-05 18:26:33.485 INFO 10632 --- [ main] p6spy : #1672910793485 | took 1ms | statement | connection 4| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280call next value for hibernate_sequencecall next value for hibernate_sequence;2023-01-05 18:26:33.535 DEBUG 10632 --- [ main] org.hibernate.SQL : insert into orders (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?)2023-01-05 18:26:33.537 INFO 10632 --- [ main] p6spy : #1672910793537 | took 1ms | statement | connection 4| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280insert into orders (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?)insert into orders (city, street, zipcode, name, member_id) values (NULL, NULL, NULL, 'kim', 1);2023-01-05 18:26:33.537 WARN 10632 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 23502, SQLState: 235022023-01-05 18:26:33.538 ERROR 10632 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : NULL not allowed for column "ORDER_ID"; SQL statement:insert into orders (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?) [23502-214]2023-01-05 18:26:33.538 INFO 10632 --- [ main] o.h.e.j.b.internal.AbstractBatchImpl : HHH000010: On release of batch it still contained JDBC statements2023-01-05 18:26:33.552 INFO 10632 --- [ main] p6spy : #1672910793552 | took 0ms | rollback | connection 4| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280;2023-01-05 18:26:33.555 INFO 10632 --- [ main] o.s.t.c.transaction.TransactionContext : Rolled back transaction for test: [DefaultTestContext@21ba0741 testClass = MemberServiceTest, testInstance = jpabook.jpashop.service.MemberServiceTest@7ba623d1, testMethod = 중복_회원_예외@MemberServiceTest, testException = java.lang.Exception: Unexpected exception, expected<java.lang.IllegalStateException> but was<org.springframework.dao.DataIntegrityViolationException>, mergedContextConfiguration = [WebMergedContextConfiguration@58ce9668 testClass = MemberServiceTest, locations = '{}', classes = '{class jpabook.jpashop.JpashopApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@5609159b, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@28975c28, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@236e3f4e, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@69fb6037, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@2525ff7e, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@7c7b252e], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]java.lang.Exception: Unexpected exception, expected<java.lang.IllegalStateException> but was<org.springframework.dao.DataIntegrityViolationException> at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:30) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:276) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:233) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at jpabook.jpashop.repository.MemberRepository$$EnhancerBySpringCGLIB$$30eb9bc9.findByName(<generated>) at jpabook.jpashop.service.MemberService.validateDuplicateMember(MemberService.java:30) at jpabook.jpashop.service.MemberService.join(MemberService.java:24) at jpabook.jpashop.service.MemberService$$FastClassBySpringCGLIB$$560b731b.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708) at jpabook.jpashop.service.MemberService$$EnhancerBySpringCGLIB$$8c1a5049.join(<generated>) at jpabook.jpashop.service.MemberServiceTest.중복_회원_예외(MemberServiceTest.java:49) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:19) ... 23 moreCaused by: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:46) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3375) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3937) at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:107) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604) at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478) at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:344) at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:57) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107) at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1372) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1452) at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1649) at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1617) at org.hibernate.query.Query.getResultList(Query.java:165) at jpabook.jpashop.repository.MemberRepository.findByName(MemberRepository.java:33) at jpabook.jpashop.repository.MemberRepository$$FastClassBySpringCGLIB$$97f1c501.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 53 moreCaused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: NULL not allowed for column "ORDER_ID"; SQL statement:insert into orders (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?) [23502-214] at org.h2.message.DbException.getJdbcSQLException(DbException.java:508) at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) at org.h2.message.DbException.get(DbException.java:223) at org.h2.message.DbException.get(DbException.java:199) at org.h2.table.Column.validateConvertUpdateSequence(Column.java:365) at org.h2.table.Table.convertInsertRow(Table.java:926) at org.h2.command.dml.Insert.insertRows(Insert.java:167) at org.h2.command.dml.Insert.update(Insert.java:135) at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:74) at org.h2.command.CommandContainer.update(CommandContainer.java:169) at org.h2.command.Command.executeUpdate(Command.java:252) at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:209) at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:169) at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) at com.p6spy.engine.wrapper.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:94) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) ... 76 more2023-01-05 18:26:33.571 INFO 10632 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'2023-01-05 18:26:33.571 INFO 10632 --- [ionShutdownHook] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down'2023-01-05 18:26:33.572 DEBUG 10632 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists category CASCADE 2023-01-05 18:26:33.574 INFO 10632 --- [ionShutdownHook] p6spy : #1672910793574 | took 1ms | statement | connection 5| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists category CASCADE drop table if exists category CASCADE ;2023-01-05 18:26:33.574 DEBUG 10632 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists category_item CASCADE 2023-01-05 18:26:33.575 INFO 10632 --- [ionShutdownHook] p6spy : #1672910793575 | took 0ms | statement | connection 5| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists category_item CASCADE drop table if exists category_item CASCADE ;2023-01-05 18:26:33.575 DEBUG 10632 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists delivery CASCADE 2023-01-05 18:26:33.575 INFO 10632 --- [ionShutdownHook] p6spy : #1672910793575 | took 0ms | statement | connection 5| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists delivery CASCADE drop table if exists delivery CASCADE ;2023-01-05 18:26:33.575 DEBUG 10632 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists item CASCADE 2023-01-05 18:26:33.576 INFO 10632 --- [ionShutdownHook] p6spy : #1672910793576 | took 0ms | statement | connection 5| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists item CASCADE drop table if exists item CASCADE ;2023-01-05 18:26:33.576 DEBUG 10632 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists order_item CASCADE 2023-01-05 18:26:33.576 INFO 10632 --- [ionShutdownHook] p6spy : #1672910793576 | took 0ms | statement | connection 5| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists order_item CASCADE drop table if exists order_item CASCADE ;2023-01-05 18:26:33.576 DEBUG 10632 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists orders CASCADE 2023-01-05 18:26:33.576 INFO 10632 --- [ionShutdownHook] p6spy : #1672910793576 | took 0ms | statement | connection 5| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop table if exists orders CASCADE drop table if exists orders CASCADE ;2023-01-05 18:26:33.577 DEBUG 10632 --- [ionShutdownHook] org.hibernate.SQL : drop sequence if exists hibernate_sequence2023-01-05 18:26:33.577 INFO 10632 --- [ionShutdownHook] p6spy : #1672910793577 | took 0ms | statement | connection 5| url jdbc:h2:mem:1a2e493c-75d5-4bb6-8aa3-da3d051bb280drop sequence if exists hibernate_sequencedrop sequence if exists hibernate_sequence;2023-01-05 18:26:33.578 INFO 10632 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2023-01-05 18:26:33.580 INFO 10632 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.Process finished with exit code -1 어떻게 하면 좋을까요
- 해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderServiceTest 상품주문 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품주문 메소드 마지막줄에서 nullpointerException이 발생합니다.OrderService의 order 메소드까지 id값이 들어가는데 memberrepository에서 find를 할때 값을 찾지를 못하는거 같습니다.OrderService에 order메소드 하면 memberrepository에서 null값을 반환합니다.em.persist로 하면 db안 들어가도 1차 캐싱이랑 sql구문 모으는곳에 값이 저장되어있고 그 값을 찾아와야하는데 그 값을 못 찾고 null을 반환합니다.em.flush를 해도 db에 쿼리를 날리는건데 이거도 안됩니다.어떻게 오류를 해결해야할까요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
IllegalStateException 와 h2 문제입니다 ㅜㅜ
발단은 MemberRepository 의 테스트 입니다.Test 로직을 작성후 실행하니IllegalStateException 에러 , BeanCreationException 에러 , ServiceException 에러 , HibernateException 에러가 발생했고,Test 뿐아니라 Application.run 을 작동시켜도 동일한 문제가 발생됩니다. H2 연결 문제인것같은데 H2 는 무료강의인 Spring 입문편에서 한번 사용해본적이 있습니다.이때는 문제없이 잘 사용되었구요,이번에는 콘솔을 실행까지는 잘 됬는데 연결을 끊고 다시 접속할 때 작동이 안되고,콘솔창을 꺼버리고 터미널에서 다시 접속하니 url 의 key 값이 사라져버리는 문제가 생겼습니다.. 이후로 아무리 접속해봐도 key 값이 나타나지 않아서 h2 를 삭제하고 다시 다운로드를 했는데이번에는 파일이 test로 생성이되고, jpashop.mv.db 로 파일명을 바꾸면 된다고 예전 질문을 봐서 이 방법을 수없이 해보며 재부팅을 했습니다 ㅜㅜ결과적으로 파일 이름을 바꾸면 콘솔페이지에 접속이 안되고 localhost 의 key 값도 없어지더라구요.그래서 application.yml 의 url 을 test url 로 변경했고 h2 문제는 해결됬지만Test 를 실행할때의 에러는 동일하게 발생되네요..<에러>java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:138) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$8(ClassBasedTestDescriptor.java:363) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:368) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$9(ClassBasedTestDescriptor.java:363) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:362) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:283) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:282) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:272) at java.base/java.util.Optional.orElseGet(Optional.java:369) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:271) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:102) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:101) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:66) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: 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.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) ... 71 moreCaused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:275) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:237) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) at org.hibernate.id.factory.internal.DefaultIdentifierGeneratorFactory.injectServices(DefaultIdentifierGeneratorFactory.java:175) at org.hibernate.service.internal.AbstractServiceRegistryImpl.injectDependencies(AbstractServiceRegistryImpl.java:286) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:243) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214) at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.<init>(InFlightMetadataCollectorImpl.java:173) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:127) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1460) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1494) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ... 86 moreCaused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:100) at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:54) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:138) at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101) at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263) ... 103 more <Member><Member Repository><application><MemberRepositoryTest>
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
./gradlew build jpashop시 에러
gradle 세팅부터 잘못된 점이 없다고 생각하는데 해당 에러가 계속 발생하네요. bulid.gradle 정보 :plugins { id 'java' id 'org.springframework.boot' version '2.7.7' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'jpabook' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } test { useJUnitPlatform() }에러 내용 :[chris@ChrisJangui-MacBookAir jpashop % ./gradlew clean bulid --stacktrace FAILURE: Build failed with an exception. * What went wrong:Task 'bulid' not found in root project 'jpashop'. Some candidates are: 'build'. * Try:> Run gradlew tasks to get a list of available tasks.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights. * Exception is:org.gradle.execution.TaskSelectionException: Task 'bulid' not found in root project 'jpashop'. Some candidates are: 'build'. at org.gradle.execution.DefaultTaskSelector.getSelection(DefaultTaskSelector.java:86) at org.gradle.execution.selection.DefaultBuildTaskSelector.resolveTaskName(DefaultBuildTaskSelector.java:97) at org.gradle.execution.commandline.CommandLineTaskParser.parseTasks(CommandLineTaskParser.java:49) at org.gradle.execution.TaskNameResolvingBuildTaskScheduler.scheduleRequestedTasks(TaskNameResolvingBuildTaskScheduler.java:50) at org.gradle.execution.DefaultTasksBuildTaskScheduler.scheduleRequestedTasks(DefaultTasksBuildTaskScheduler.java:72) at org.gradle.initialization.DefaultTaskExecutionPreparer.lambda$scheduleRequestedTasks$0(DefaultTaskExecutionPreparer.java:46) at org.gradle.internal.Factories$1.create(Factories.java:31) at org.gradle.internal.work.DefaultWorkerLeaseService.withReplacedLocks(DefaultWorkerLeaseService.java:345) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:205) at org.gradle.api.internal.project.DefaultProjectStateRegistry$DefaultBuildProjectRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:198) at org.gradle.initialization.DefaultTaskExecutionPreparer.scheduleRequestedTasks(DefaultTaskExecutionPreparer.java:45) at org.gradle.initialization.VintageBuildModelController.lambda$scheduleRequestedTasks$0(VintageBuildModelController.java:76) at org.gradle.internal.model.StateTransitionController.lambda$inState$1(StateTransitionController.java:110) at org.gradle.internal.model.StateTransitionController.lambda$inState$2(StateTransitionController.java:125) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:121) at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:109) at org.gradle.initialization.VintageBuildModelController.scheduleRequestedTasks(VintageBuildModelController.java:76) at org.gradle.internal.build.DefaultBuildLifecycleController$DefaultWorkGraphBuilder.addRequestedTasks(DefaultBuildLifecycleController.java:255) at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$0(DefaultBuildTreeWorkPreparer.java:38) at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$populateWorkGraph$3(DefaultBuildLifecycleController.java:143) at org.gradle.internal.build.DefaultBuildWorkPreparer.populateWorkGraph(DefaultBuildWorkPreparer.java:42) at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.populateTaskGraph(BuildOperationFiringBuildWorkPreparer.java:120) at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.run(BuildOperationFiringBuildWorkPreparer.java:91) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer.populateWorkGraph(BuildOperationFiringBuildWorkPreparer.java:68) at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$populateWorkGraph$4(DefaultBuildLifecycleController.java:143) at org.gradle.internal.model.StateTransitionController.lambda$inState$1(StateTransitionController.java:110) at org.gradle.internal.model.StateTransitionController.lambda$inState$2(StateTransitionController.java:125) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:121) at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:109) at org.gradle.internal.build.DefaultBuildLifecycleController.populateWorkGraph(DefaultBuildLifecycleController.java:143) at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.populateWorkGraph(DefaultBuildWorkGraphController.java:148) at org.gradle.composite.internal.DefaultBuildController.populateWorkGraph(DefaultBuildController.java:73) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraphBuilder.withWorkGraph(DefaultIncludedBuildTaskGraph.java:150) at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$1(DefaultBuildTreeWorkPreparer.java:38) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph$1.run(DefaultIncludedBuildTaskGraph.java:197) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29) at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph.scheduleWork(DefaultIncludedBuildTaskGraph.java:192) at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.scheduleRequestedTasks(DefaultBuildTreeWorkPreparer.java:37) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$doScheduleAndRunTasks$3(DefaultBuildTreeLifecycleController.java:96) at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewWorkGraph(DefaultIncludedBuildTaskGraph.java:109) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.doScheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:95) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$scheduleAndRunTasks$1(DefaultBuildTreeLifecycleController.java:76) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$5(DefaultBuildTreeLifecycleController.java:113) at org.gradle.internal.model.StateTransitionController.lambda$transition$5(StateTransitionController.java:166) at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:247) at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:166) at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44) at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:166) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:110) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:76) at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:71) at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49) at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:65) at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:136) at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40) at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:122) at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40) at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:65) at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:53) at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:65) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36) at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:249) at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:109) at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36) at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:110) at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64) at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:100) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:88) at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:69) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:62) at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:41) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:63) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:52) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:40) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75) at org.gradle.util.internal.Swapper.swap(Swapper.java:38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49) * Get more help at https://help.gradle.org BUILD FAILED in 1s
- 해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]MemberRepositotyTest 실행을하면 아래와 같은 코드가 나오면서 오류가 나옵니다. h2관련 로그가 나오는거보면 h2 db관련 문제인거같은데 1.4.200버전으로 깔고 build.gradle도 강의와 동일하게했는데 이유를 모르겠네요ㅠㅠ application.yml도 복붙하고 동일하게 설정했습니다.org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement; SQL [call next value for hibernate_sequence]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:259) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:233) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at jpabook.jpashop.MemberRepository$$EnhancerBySpringCGLIB$$6fbf6af2.save(<generated>) at jpabook.jpashop.MemberRepositoryTest.testMember(MemberRepositoryTest.java:28) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: org.hibernate.exception.SQLGrammarException: could not prepare statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:186) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:75) at org.hibernate.id.enhanced.SequenceStructure$1.getNextValue(SequenceStructure.java:93) at org.hibernate.id.enhanced.NoopOptimizer.generate(NoopOptimizer.java:40) at org.hibernate.id.enhanced.SequenceStyleGenerator.generate(SequenceStyleGenerator.java:523) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:115) at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:185) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:128) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:720) at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:706) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:311) at com.sun.proxy.$Proxy84.persist(Unknown Source) at jpabook.jpashop.MemberRepository.save(MemberRepository.java:16) at jpabook.jpashop.MemberRepository$$FastClassBySpringCGLIB$$a3e1a60b.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 38 moreCaused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Sequence "HIBERNATE_SEQUENCE" not found; SQL statement:call next value for hibernate_sequence [90036-200] at org.h2.message.DbException.getJdbcSQLException(DbException.java:576) at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) at org.h2.message.DbException.get(DbException.java:205) at org.h2.message.DbException.get(DbException.java:181) at org.h2.command.Parser.readSequence(Parser.java:7678) at org.h2.command.Parser.readTermWithIdentifier(Parser.java:4593) at org.h2.command.Parser.readTerm(Parser.java:4311) at org.h2.command.Parser.readFactor(Parser.java:3343) at org.h2.command.Parser.readSum(Parser.java:3330) at org.h2.command.Parser.readConcat(Parser.java:3305) at org.h2.command.Parser.readCondition(Parser.java:3108) at org.h2.command.Parser.readExpression(Parser.java:3059) at org.h2.command.Parser.parseCall(Parser.java:6480) at org.h2.command.Parser.parsePrepared(Parser.java:905) at org.h2.command.Parser.parse(Parser.java:843) at org.h2.command.Parser.parse(Parser.java:815) at org.h2.command.Parser.prepareCommand(Parser.java:738) at org.h2.engine.Session.prepareLocal(Session.java:657) at org.h2.server.TcpServerThread.process(TcpServerThread.java:278) at org.h2.server.TcpServerThread.run(TcpServerThread.java:183) at java.lang.Thread.run(Thread.java:750) at org.h2.message.DbException.getJdbcSQLException(DbException.java:576) at org.h2.engine.SessionRemote.done(SessionRemote.java:611) at org.h2.command.CommandRemote.prepare(CommandRemote.java:85) at org.h2.command.CommandRemote.<init>(CommandRemote.java:51) at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:481) at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1235) at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:76) at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:352) at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:337) at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:90) at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:176) ... 62 more
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
updateItemDto
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.새해 복 많이 받으세요 !열심히 강의를 수강중인 학생 입니다.updateItemDTO 관련하여 궁금한게 생겨서 문의 남깁니다.영한님이 말씀해주신 의견에 따라 소스를 변경해보았습니다.Controller updateItemDto (service package안에 뒀습니다)ServiceItembook소스는 이런식으로 변경해서 잘 동작 하는 것 확인 했습니다. 궁금점영한님이 다른 분에게 남겨 준 글을 봤을 때DTO가 생성되는 계층에 dto class를 작성하라고 쓰여있었습니다.저의 소스 같은 경우 Controller 에서 인스턴스화 되고 있는데 이럴 때는 Controller 밑에 dto package를 만들었어야 하는건가요? Service 쪽에서 Item findItem = itemRepository.findOne(itemId); findItem.changeItem(updateItemDto);이 로직을 실행하게 되면 Book, Album , Movie 다 똑같이 changeItem override 해주었습니다. 이후에 Controller에서 Album , Movie 에 필요한 필드 값 세팅 후 Service로 넘겼습니다. 3개의 자식 중에 Book 호출 되게 되는데 이 점이 궁금합니다(기본적인 자바 지식 일수도 있지만, 구글링을 하여도 적합한 글을 찾지 못해서 글 남겼습니다) 3. 2번과 이어지는 질문인데, 혹시 movie , album , book 을 다 수정할 수 있게 된다면 어떤 식으로 구성해야 좋은지 궁금합니다!4.처음 view에서 넘겨 받은 BookForm을 itemService.updateItem()인자로 넘기지 않고 중간에 변환해서 넘긴 이유가 궁금합니다! 5번 질문과 같은 맥락일까요5.service 계층에서 dto를 의존하게 되는 경우는 어떤 경우인지도 궁금합니다 !좋은 강의 잘 보고 있습니다.항상 감사합니다!
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 데이터베이스에 회원정보 저장이 안되서 문의드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]JpashopApplication 실행시 localhost:8080/members/new 에서 오류 없이 submit이 되어서 redirect까지 되는데log에 insert 쿼리 날라가는게 강사님처럼 보이지 않고 h2에 저장이 안되는 이유를 못찾아서 문의남깁니다ㅠㅠ
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
영속성 계층의 엔티티와 도메인 계층의 엔티티를 분리하였을 때의 변경 감지와 병합에 대하여 질문드립니다.
안녕하세요!해당 글과 관련되어 의문이 생겨 질문을 남기고 싶습니다. 해당 글에서 처럼 영속성 계층의 엔티티와 도메인 계층의 엔티티를 나누어 사용하는 상황에서, 데이터 변경의 처리에 관해 질문드립니다.우선 Layer를 다음과 같이 구분하였습니다.PresentationApplication DomainInfrastructure(Persistence) 간단하게 Member(Domain Layer)와, MemberJpaEntity(Infrastructure Layer)로 예시를 들어 의문을 가지는 상황에 대해서 말씀드리려 합니다. 이때 규칙을 Application Layer에서 Domain Layer만을 의존한다고 하였을 때, 다음과 같이 Member를 update하는 코드를 작성해야 한다 했을 때 아래와 같이 변경 감지를 사용할 수 없어 save를 재호출해야만 할 것 같은데, 이러한 경우 다른 방법이 있을까요?@Service @Transactional public MemberService { private final MemberRepository memberRepository; // 생성자 생략 public void update(Long id. String name) { Member member = memberRepository.findById(id); member.update(name); // 변경 감지 X -> Member는 Jpa의 @Entity가 아니기 때문 memberRepository.save(member); // 업데이트 하기 위해서는 필요함 } }@Repository @Transactional public MemberRepositoryImpl implement MemberRepository { private final MemberJpaRepository memberJpaRepository; // 생성자 생략 public Member findById(Long id) { MemberJpaEntity entity = memberJpaRepository.findById(id).orElse(null); return Mapper.toDomainEntity(entity); } public void save(Member member) { MemberJpaEntity entity = Mapper.toPersistenceEntity(member); memberJpaRepository.save(entity); } }