자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
JdbcTemplate 생성자 만드는데 에러나요. JdbcTemplate 타입의 bean을 찾을 수 없다고 하는데 어떻게 해결해야 하나요? 강의를 더 보니까 19강에서 설명해주고 계신 build.gradle 때문인거 같은데요. 저는 해당 파일이 비활성화 되어 있는 것 같아요. 위 캡쳐처럼 코드가 알록달록(주황, 보라, 노랑..) 하지 않고, 모두 회색으로 보이는데 그래서 일까요?
강사님, 강의 내용에는 코루틴이 없어 학습중에 궁금한 점이 있어서 문의드립니다. 아래 코드의 실행 순서를 제가 정리 해봤습니다. 제가 코루틴의 suspend, resume을 잘 이해한게 맞나 궁금해서요. 물어볼 곳이 없어서, 죄송스럽게도 강사님께 문의를 하게 되었습니다. 강의 내용과는 관련이 없어 답변을 해주시면 감사하겠지만, 답변이 안달리다도 괜찮습니다. 감사합니다. println("Coroutine Outer") 이 실행된다. A 코루틴에서 delay를 만나, B 코루틴으로 실행권을 넘겨간다. B 코루틴도 delay를 만나, A 코루틴으로 실행권을 넘겨준다. 1초가 지나고 A코루틴의 println("Coroutine A, Si")을 실행한다. 반복문에 의하여 A코루틴의 2번째 delay를 만나, 다시 B 코루틴으로 실행권을 넘겨준다. B 코루틴도 1초가 지난 상태여서, 바로 println("Coroutine B, Si")을 실행한다. 반복문에 의하여 B코루틴의 2번째 delay를 만나, 다시 A 코루틴으로 실행권을 넘겨준다. 그 다음 4~7을 반복문이 끝날 때 까지 반복 후 코루틴이 종료된다. fun main() = runBlocking { // A 코루틴 launch { repeat(5) { i -> delay(1000L) println("Coroutine A") } } // B 코루틴 launch { repeat(5) { i -> delay(1000L) println("Coroutine B") } } println("Coroutine Outer") } fun <T> println(msg: T) { kotlin.io.println("$msg [${Thread.currentThread().name}]") }
안녕하세요 강사님 레코드 캡슐화 설명을 들으면서 궁금한 점이 생겨 질문 드립니다. 강의에서, 퍼블릭 필드를 감추는 용도로 퍼블릭 메서드를 사용할 수 있는데, 그 이유로는 퍼블릭 필드(ex, String name) 와 퍼블릭 메서드(ex, String setLastName()) 의 이름이 완전히 동일하다는 보장이 없기 때문입니다. 위 문장을, 퍼블릭 메서드는 퍼블릭 필드를 감추는 용도로 사용할 수 있다고 이해했습니다. 궁금한 점은, 그렇다면 필드를 감추는 것이 중요한 이유는 클라이언트단에서 데이터 클래스의 필드에 무작위적인 접근을 방지하기 위함인가요? 무작위적인 필드의 접근은 데이터를 쉽게 수정할 수 있게 때문이라고 추측했습니다. 감사합니다.
JPA와 DB 설정, 동작확인의 테스트코드를 실행하는 중 오류가 나서 질문 드립니다. 가끔 jpashop.mv .db를 삭제 후 처음부터 생성을 다시하면 첫 테스트 실행시에는 에러가 나지 않을때가 있으나, 두번째 실행부터는 같은 오류가 다시 반복됩니다. Rollback(false)를 사용하지 않아도 콘솔창에서 롤백한다는 메시지도 나오지 않았습니다. MVCC=true 부분도 삭제해봤고, application.yml이랑 build.gradle도 여러번 확인했습니다. MemberRepository 입니다. Member 클래스 입니다. 오류가 나는 테스트코드 입니다. 처음 생성시 Junit4로 만들었습니다. application.yml 입니다. build.gradle 입니다. h2는 실행중이며, 1.4.200 버전 입니다. 강의자료에서 해당 버전 사용하라고 명시되어 있어 다른 버전으로는 사용해보지 않았습니다. 아래는 오류 전문입니다. Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2023-01-25T20:44:53.061+09:00 ERROR 21512 --- [ Test worker] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1751 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:599 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:521 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractBeanFactory.lambda$doGetBean$0( AbstractBeanFactory.java:326 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:234 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:324 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractBeanFactory.getBean( AbstractBeanFactory.java:200 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.context.support .AbstractApplicationContext.getBean( AbstractApplicationContext.java:1130 ) ~[spring-context-6.0.4.jar:6.0.4] at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:905 ) ~[spring-context-6.0.4.jar:6.0.4] at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:584 ) ~[spring-context-6.0.4.jar:6.0.4] at org.springframework.boot.SpringApplication.refresh( SpringApplication.java:730 ) ~[spring-boot-3.0.2.jar:3.0.2] at org.springframework.boot.SpringApplication.refreshContext( SpringApplication.java:432 ) ~[spring-boot-3.0.2.jar:3.0.2] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:308 ) ~[spring-boot-3.0.2.jar:3.0.2] at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3( SpringBootContextLoader.java:137 ) ~[spring-boot-test-3.0.2.jar:3.0.2] at org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:59 ) ~[spring-core-6.0.4.jar:6.0.4] at org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:47 ) ~[spring-core-6.0.4.jar:6.0.4] at org.springframework.boot.SpringApplication.withHook( SpringApplication.java:1386 ) ~[spring-boot-3.0.2.jar:3.0.2] at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run( SpringBootContextLoader.java:543 ) ~[spring-boot-test-3.0.2.jar:3.0.2] at org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:137 ) ~[spring-boot-test-3.0.2.jar:3.0.2] at org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:108 ) ~[spring-boot-test-3.0.2.jar:3.0.2] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal( DefaultCacheAwareContextLoaderDelegate.java:184 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:118 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.support .DefaultTestContext.getApplicationContext( DefaultTestContext.java:127 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary( ServletTestExecutionListener.java:191 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance( ServletTestExecutionListener.java:130 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.TestContextManager.prepareTestInstance( TestContextManager.java:241 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance( SpringExtension.java:138 ) ~[spring-test-6.0.4.jar:6.0.4] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10( ClassBasedTestDescriptor.java:377 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable( ClassBasedTestDescriptor.java:382 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11( ClassBasedTestDescriptor.java:377 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at java.base/java.util.stream.ReferencePipeline$3$1.accept( ReferencePipeline.java:197 ) ~[na:na] at java.base/java.util.stream.ReferencePipeline$2$1.accept( ReferencePipeline.java:179 ) ~[na:na] at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining( ArrayList.java:1625 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto( AbstractPipeline.java:509 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto( AbstractPipeline.java:499 ) ~[na:na] at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining( StreamSpliterators.java:310 ) ~[na:na] at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining( Streams.java:735 ) ~[na:na] at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining( Streams.java:734 ) ~[na:na] at java.base/java.util.stream.ReferencePipeline$Head.forEach( ReferencePipeline.java:762 ) ~[na:na] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors( ClassBasedTestDescriptor.java:376 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6( ClassBasedTestDescriptor.java:289 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance( ClassBasedTestDescriptor.java:288 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4( ClassBasedTestDescriptor.java:278 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at java.base/java.util.Optional.orElseGet( Optional.java:364 ) ~[na:na] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5( ClassBasedTestDescriptor.java:277 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances( TestInstancesProvider.java:31 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0( TestMethodTestDescriptor.java:105 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:104 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:68 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$prepare$2( NodeTestTask.java:123 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.prepare( NodeTestTask.java:123 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:90 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) ~[na:na] at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) ~[na:na] at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.submit( SameThreadHierarchicalTestExecutorService.java:35 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.HierarchicalTestExecutor.execute( HierarchicalTestExecutor.java:57 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.HierarchicalTestEngine.execute( HierarchicalTestEngine.java:54 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:107 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:88 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:54 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:67 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:52 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:114 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:86 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute( DefaultLauncherSession.java:86 ) ~[na:na] at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute( SessionPerRequestLauncher.java:53 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses( JUnitPlatformTestClassProcessor.java:99 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000( JUnitPlatformTestClassProcessor.java:79 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop( JUnitPlatformTestClassProcessor.java:75 ) ~[na:na] at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop( SuiteTestClassProcessor.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:77 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:568 ) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:36 ) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:24 ) ~[na:na] at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch( ContextClassLoaderDispatch.java:33 ) ~[na:na] at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke( ProxyDispatchAdapter.java:94 ) ~[na:na] at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run( TestWorker.java:193 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName( TestWorker.java:129 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:100 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:60 ) ~[na:na] at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute( ActionExecutionWorker.java:56 ) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:113 ) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:65 ) ~[na:na] at worker.org.gradle.process.internal.worker.GradleWorkerMain.run ( GradleWorkerMain.java:69 ) ~[gradle-worker.jar:na] at worker.org .gradle.process.internal.worker.GradleWorkerMain.main( GradleWorkerMain.java:74 ) ~[gradle-worker.jar:na] Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:421 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet( AbstractEntityManagerFactoryBean.java:396 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet( LocalContainerEntityManagerFactoryBean.java:352 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1797 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1747 ) ~[spring-beans-6.0.4.jar:6.0.4] ... 108 common frames omitted Caused by: org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at org.hibernate.id .factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator( StandardIdentifierGeneratorFactory.java:222 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.mapping.SimpleValue.createIdentifierGenerator( SimpleValue.java:515 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.mapping.SimpleValue.createIdentifierGenerator( SimpleValue.java:372 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.internal.SessionFactoryImpl.lambda$new$1( SessionFactoryImpl.java:293 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept( ForEachOps.java:183 ) ~[na:na] at java.base/java.util.stream.ReferencePipeline$2$1.accept( ReferencePipeline.java:179 ) ~[na:na] at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining( HashMap.java:1779 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto( AbstractPipeline.java:509 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto( AbstractPipeline.java:499 ) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential( ForEachOps.java:150 ) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential( ForEachOps.java:173 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate( AbstractPipeline.java:234 ) ~[na:na] at java.base/java.util.stream.ReferencePipeline.forEach( ReferencePipeline.java:596 ) ~[na:na] at org.hibernate.internal.SessionFactoryImpl.<init>( SessionFactoryImpl.java:292 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build ( SessionFactoryBuilderImpl.java:415 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:1425 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory( SpringHibernateJpaPersistenceProvider.java:66 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory( LocalContainerEntityManagerFactoryBean.java:376 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:409 ) ~[spring-orm-6.0.4.jar:6.0.4] ... 112 common frames omitted Caused by: org.hibernate.HibernateException: Could not fetch the SequenceInformation from the database at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList( ExtractedDatabaseMetaDataImpl.java:302 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.getSequenceInformationList( ExtractedDatabaseMetaDataImpl.java:151 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.id .enhanced.SequenceStyleGenerator.getSequenceIncrementValue( SequenceStyleGenerator.java:561 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.id .enhanced.SequenceStyleGenerator.configure( SequenceStyleGenerator.java:210 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.id .factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator( StandardIdentifierGeneratorFactory.java:217 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] ... 130 common frames omitted Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "start_value" not found [42122-214] at org.h2.message.DbException.getJdbcSQLException( DbException.java:502 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.getJdbcSQLException( DbException.java:477 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get( DbException.java:223 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get( DbException.java:199 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.jdbc.JdbcResultSet.getColumnIndex( JdbcResultSet.java:3492 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.jdbc.JdbcResultSet.getLong( JdbcResultSet.java:745 ) ~[h2-2.1.214.jar:2.1.214] at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong( HikariProxyResultSet.java ) ~[HikariCP-5.0.1.jar:na] at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.resultSetStartValueSize( SequenceInformationExtractorLegacyImpl.java:110 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.lambda$extractMetadata$0( SequenceInformationExtractorLegacyImpl.java:54 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults( ExtractionContext.java:50 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata( SequenceInformationExtractorLegacyImpl.java:39 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList( ExtractedDatabaseMetaDataImpl.java:286 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] ... 134 common frames omitted ============================ CONDITIONS EVALUATION REPORT ============================ Positive matches: ----------------- None Negative matches: ----------------- None Exclusions: ----------- None Unconditional classes: ---------------------- None 2023-01-25T20:44:53.094+09:00 ERROR 21512 --- [ Test worker] o.s.test.context.TestContextManager : Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener] to prepare test instance [jpabook.jpashop.MemberRepositoryTest@5bd3ca3c] java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@37f71c05 testClass = jpabook.jpashop.MemberRepositoryTest, locations = [], classes = [jpabook.jpashop.JpashopApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@9da1, org.springframework.boot.test.autoconfigure.properties .PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@1338fb5, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@fade1fc, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@7103cb56, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@57ea113a, org.springframework.test.context.web.socket.MockServerContainerContextCustomizer@2072acb2, org.springframework.boot.test.context.SpringBootTestAnnotation@b8b80442], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:142 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.support .DefaultTestContext.getApplicationContext( DefaultTestContext.java:127 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary( ServletTestExecutionListener.java:191 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance( ServletTestExecutionListener.java:130 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.TestContextManager.prepareTestInstance( TestContextManager.java:241 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance( SpringExtension.java:138 ) ~[spring-test-6.0.4.jar:6.0.4] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10( ClassBasedTestDescriptor.java:377 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable( ClassBasedTestDescriptor.java:382 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11( ClassBasedTestDescriptor.java:377 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at java.base/java.util.stream.ReferencePipeline$3$1.accept( ReferencePipeline.java:197 ) ~[na:na] at java.base/java.util.stream.ReferencePipeline$2$1.accept( ReferencePipeline.java:179 ) ~[na:na] at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining( ArrayList.java:1625 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto( AbstractPipeline.java:509 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto( AbstractPipeline.java:499 ) ~[na:na] at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining( StreamSpliterators.java:310 ) ~[na:na] at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining( Streams.java:735 ) ~[na:na] at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining( Streams.java:734 ) ~[na:na] at java.base/java.util.stream.ReferencePipeline$Head.forEach( ReferencePipeline.java:762 ) ~[na:na] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors( ClassBasedTestDescriptor.java:376 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6( ClassBasedTestDescriptor.java:289 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance( ClassBasedTestDescriptor.java:288 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4( ClassBasedTestDescriptor.java:278 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at java.base/java.util.Optional.orElseGet( Optional.java:364 ) ~[na:na] at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5( ClassBasedTestDescriptor.java:277 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances( TestInstancesProvider.java:31 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0( TestMethodTestDescriptor.java:105 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:104 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:68 ) ~[junit-jupiter-engine-5.9.2.jar:5.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$prepare$2( NodeTestTask.java:123 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.prepare( NodeTestTask.java:123 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:90 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) ~[na:na] at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) ~[na:na] at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.submit( SameThreadHierarchicalTestExecutorService.java:35 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.HierarchicalTestExecutor.execute( HierarchicalTestExecutor.java:57 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.engine.support .hierarchical.HierarchicalTestEngine.execute( HierarchicalTestEngine.java:54 ) ~[junit-platform-engine-1.9.2.jar:1.9.2] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:107 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:88 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:54 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:67 ) ~[na:na] at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:52 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:114 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:86 ) ~[na:na] at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute( DefaultLauncherSession.java:86 ) ~[na:na] at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute( SessionPerRequestLauncher.java:53 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses( JUnitPlatformTestClassProcessor.java:99 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000( JUnitPlatformTestClassProcessor.java:79 ) ~[na:na] at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop( JUnitPlatformTestClassProcessor.java:75 ) ~[na:na] at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop( SuiteTestClassProcessor.java:62 ) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:77 ) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:568 ) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:36 ) ~[na:na] at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:24 ) ~[na:na] at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch( ContextClassLoaderDispatch.java:33 ) ~[na:na] at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke( ProxyDispatchAdapter.java:94 ) ~[na:na] at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run( TestWorker.java:193 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName( TestWorker.java:129 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:100 ) ~[na:na] at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:60 ) ~[na:na] at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute( ActionExecutionWorker.java:56 ) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:113 ) ~[na:na] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:65 ) ~[na:na] at worker.org.gradle.process.internal.worker.GradleWorkerMain.run ( GradleWorkerMain.java:69 ) ~[gradle-worker.jar:na] at worker.org .gradle.process.internal.worker.GradleWorkerMain.main( GradleWorkerMain.java:74 ) ~[gradle-worker.jar:na] 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]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1751 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:599 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:521 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractBeanFactory.lambda$doGetBean$0( AbstractBeanFactory.java:326 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:234 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:324 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractBeanFactory.getBean( AbstractBeanFactory.java:200 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.context.support .AbstractApplicationContext.getBean( AbstractApplicationContext.java:1130 ) ~[spring-context-6.0.4.jar:6.0.4] at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:905 ) ~[spring-context-6.0.4.jar:6.0.4] at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:584 ) ~[spring-context-6.0.4.jar:6.0.4] at org.springframework.boot.SpringApplication.refresh( SpringApplication.java:730 ) ~[spring-boot-3.0.2.jar:3.0.2] at org.springframework.boot.SpringApplication.refreshContext( SpringApplication.java:432 ) ~[spring-boot-3.0.2.jar:3.0.2] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:308 ) ~[spring-boot-3.0.2.jar:3.0.2] at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3( SpringBootContextLoader.java:137 ) ~[spring-boot-test-3.0.2.jar:3.0.2] at org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:59 ) ~[spring-core-6.0.4.jar:6.0.4] at org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:47 ) ~[spring-core-6.0.4.jar:6.0.4] at org.springframework.boot.SpringApplication.withHook( SpringApplication.java:1386 ) ~[spring-boot-3.0.2.jar:3.0.2] at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run( SpringBootContextLoader.java:543 ) ~[spring-boot-test-3.0.2.jar:3.0.2] at org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:137 ) ~[spring-boot-test-3.0.2.jar:3.0.2] at org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:108 ) ~[spring-boot-test-3.0.2.jar:3.0.2] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal( DefaultCacheAwareContextLoaderDelegate.java:184 ) ~[spring-test-6.0.4.jar:6.0.4] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:118 ) ~[spring-test-6.0.4.jar:6.0.4] ... 87 common frames omitted Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:421 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet( AbstractEntityManagerFactoryBean.java:396 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet( LocalContainerEntityManagerFactoryBean.java:352 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1797 ) ~[spring-beans-6.0.4.jar:6.0.4] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1747 ) ~[spring-beans-6.0.4.jar:6.0.4] ... 108 common frames omitted Caused by: org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at org.hibernate.id .factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator( StandardIdentifierGeneratorFactory.java:222 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.mapping.SimpleValue.createIdentifierGenerator( SimpleValue.java:515 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.mapping.SimpleValue.createIdentifierGenerator( SimpleValue.java:372 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.internal.SessionFactoryImpl.lambda$new$1( SessionFactoryImpl.java:293 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept( ForEachOps.java:183 ) ~[na:na] at java.base/java.util.stream.ReferencePipeline$2$1.accept( ReferencePipeline.java:179 ) ~[na:na] at java.base/java.util.HashMap$ValueSpliterator.forEachRemaining( HashMap.java:1779 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.copyInto( AbstractPipeline.java:509 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto( AbstractPipeline.java:499 ) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential( ForEachOps.java:150 ) ~[na:na] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential( ForEachOps.java:173 ) ~[na:na] at java.base/java.util.stream.AbstractPipeline.evaluate( AbstractPipeline.java:234 ) ~[na:na] at java.base/java.util.stream.ReferencePipeline.forEach( ReferencePipeline.java:596 ) ~[na:na] at org.hibernate.internal.SessionFactoryImpl.<init>( SessionFactoryImpl.java:292 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build ( SessionFactoryBuilderImpl.java:415 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:1425 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory( SpringHibernateJpaPersistenceProvider.java:66 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory( LocalContainerEntityManagerFactoryBean.java:376 ) ~[spring-orm-6.0.4.jar:6.0.4] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:409 ) ~[spring-orm-6.0.4.jar:6.0.4] ... 112 common frames omitted Caused by: org.hibernate.HibernateException: Could not fetch the SequenceInformation from the database at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList( ExtractedDatabaseMetaDataImpl.java:302 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.getSequenceInformationList( ExtractedDatabaseMetaDataImpl.java:151 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.id .enhanced.SequenceStyleGenerator.getSequenceIncrementValue( SequenceStyleGenerator.java:561 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.id .enhanced.SequenceStyleGenerator.configure( SequenceStyleGenerator.java:210 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.id .factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator( StandardIdentifierGeneratorFactory.java:217 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] ... 130 common frames omitted Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "start_value" not found [42122-214] at org.h2.message.DbException.getJdbcSQLException( DbException.java:502 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.getJdbcSQLException( DbException.java:477 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get( DbException.java:223 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.message.DbException.get( DbException.java:199 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.jdbc.JdbcResultSet.getColumnIndex( JdbcResultSet.java:3492 ) ~[h2-2.1.214.jar:2.1.214] at org.h2.jdbc.JdbcResultSet.getLong( JdbcResultSet.java:745 ) ~[h2-2.1.214.jar:2.1.214] at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong( HikariProxyResultSet.java ) ~[HikariCP-5.0.1.jar:na] at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.resultSetStartValueSize( SequenceInformationExtractorLegacyImpl.java:110 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.lambda$extractMetadata$0( SequenceInformationExtractorLegacyImpl.java:54 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults( ExtractionContext.java:50 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata( SequenceInformationExtractorLegacyImpl.java:39 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] at org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList( ExtractedDatabaseMetaDataImpl.java:286 ) ~[ hibernate-core-6.1.6.Final .jar: 6.1.6.Final ] ... 134 common frames omitted Failed to load ApplicationContext for [WebMergedContextConfiguration@37f71c05 testClass = jpabook.jpashop.MemberRepositoryTest, locations = [], classes = [jpabook.jpashop.JpashopApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@9da1, org.springframework.boot.test.autoconfigure.properties .PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@1338fb5, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@fade1fc, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@7103cb56, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@57ea113a, org.springframework.test.context.web.socket.MockServerContainerContextCustomizer@2072acb2, org.springframework.boot.test.context.SpringBootTestAnnotation@b8b80442], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@37f71c05 testClass = jpabook.jpashop.MemberRepositoryTest, locations = [], classes = [jpabook.jpashop.JpashopApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@9da1, org.springframework.boot.test.autoconfigure.properties .PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@1338fb5, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@fade1fc, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@7103cb56, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@57ea113a, org.springframework.test.context.web.socket.MockServerContainerContextCustomizer@2072acb2, org.springframework.boot.test.context.SpringBootTestAnnotation@b8b80442], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:142 ) at org.springframework.test.context.support .DefaultTestContext.getApplicationContext( DefaultTestContext.java:127 ) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary( ServletTestExecutionListener.java:191 ) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance( ServletTestExecutionListener.java:130 ) at org.springframework.test.context.TestContextManager.prepareTestInstance( TestContextManager.java:241 ) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance( SpringExtension.java:138 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10( ClassBasedTestDescriptor.java:377 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable( ClassBasedTestDescriptor.java:382 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11( ClassBasedTestDescriptor.java:377 ) at java.base/java.util.stream.ReferencePipeline$3$1.accept( ReferencePipeline.java:197 ) at java.base/java.util.stream.ReferencePipeline$2$1.accept( ReferencePipeline.java:179 ) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining( ArrayList.java:1625 ) at java.base/java.util.stream.AbstractPipeline.copyInto( AbstractPipeline.java:509 ) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto( AbstractPipeline.java:499 ) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining( StreamSpliterators.java:310 ) 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:762 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors( ClassBasedTestDescriptor.java:376 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6( ClassBasedTestDescriptor.java:289 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance( ClassBasedTestDescriptor.java:288 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4( ClassBasedTestDescriptor.java:278 ) at java.base/java.util.Optional.orElseGet( Optional.java:364 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5( ClassBasedTestDescriptor.java:277 ) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances( TestInstancesProvider.java:31 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0( TestMethodTestDescriptor.java:105 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:104 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:68 ) 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:1511 ) 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:1511 ) 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 org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses( JUnitPlatformTestClassProcessor.java:99 ) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000( JUnitPlatformTestClassProcessor.java:79 ) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop( JUnitPlatformTestClassProcessor.java:75 ) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop( SuiteTestClassProcessor.java:62 ) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:77 ) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base/java.lang.reflect.Method.invoke( Method.java:568 ) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:36 ) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch( ReflectionDispatch.java:24 ) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch( ContextClassLoaderDispatch.java:33 ) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke( ProxyDispatchAdapter.java:94 ) at jdk.proxy1/jdk.proxy1.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run( TestWorker.java:193 ) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName( TestWorker.java:129 ) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:100 ) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute( TestWorker.java:60 ) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute( ActionExecutionWorker.java:56 ) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:113 ) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call ( SystemApplicationClassLoaderWorker.java:65 ) at worker.org.gradle.process.internal.worker.GradleWorkerMain.run ( GradleWorkerMain.java:69 ) at worker.org .gradle.process.internal.worker.GradleWorkerMain.main( GradleWorkerMain.java:74 ) 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]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1751 ) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:599 ) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:521 ) at app//org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0( AbstractBeanFactory.java:326 ) at app//org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:234 ) at app//org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:324 ) at app//org.springframework.beans.factory.support.AbstractBeanFactory.getBean( AbstractBeanFactory.java:200 ) at app//org.springframework.context.support.AbstractApplicationContext.getBean( AbstractApplicationContext.java:1130 ) at app//org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:905 ) at app//org.springframework.context.support.AbstractApplicationContext.refresh( AbstractApplicationContext.java:584 ) at app//org.springframework.boot.SpringApplication.refresh( SpringApplication.java:730 ) at app//org.springframework.boot.SpringApplication.refreshContext( SpringApplication.java:432 ) at app//org.springframework.boot.SpringApplication.run( SpringApplication.java:308 ) at app//org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3( SpringBootContextLoader.java:137 ) at app//org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:59 ) at app//org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:47 ) at app//org.springframework.boot.SpringApplication.withHook( SpringApplication.java:1386 ) at app//org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run( SpringBootContextLoader.java:543 ) at app//org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:137 ) at app//org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:108 ) at app//org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal( DefaultCacheAwareContextLoaderDelegate.java:184 ) at app//org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:118 ) ... 87 more Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:421 ) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet( AbstractEntityManagerFactoryBean.java:396 ) at app//org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet( LocalContainerEntityManagerFactoryBean.java:352 ) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1797 ) at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1747 ) ... 108 more Caused by: org.hibernate.MappingException: Could not instantiate id generator [entity-name=jpabook.jpashop.Member] at app//org.hibernate.id.factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator( StandardIdentifierGeneratorFactory.java:222 ) at app//org.hibernate.mapping.SimpleValue.createIdentifierGenerator( SimpleValue.java:515 ) at app//org.hibernate.mapping.SimpleValue.createIdentifierGenerator( SimpleValue.java:372 ) at app//org.hibernate.internal.SessionFactoryImpl.lambda$new$1( SessionFactoryImpl.java:293 ) at java.base@17.0.2/ java.util.stream .ForEachOps$ForEachOp$OfRef.accept( ForEachOps.java:183 ) at java.base@17.0.2/ java.util.stream .ReferencePipeline$2$1.accept( ReferencePipeline.java:179 ) at java.base@17.0.2/java.util.HashMap$ValueSpliterator.forEachRemaining( HashMap.java:1779 ) at java.base@17.0.2/ java.util.stream .AbstractPipeline.copyInto( AbstractPipeline.java:509 ) at java.base@17.0.2/ java.util.stream .AbstractPipeline.wrapAndCopyInto( AbstractPipeline.java:499 ) at java.base@17.0.2/ java.util.stream .ForEachOps$ForEachOp.evaluateSequential( ForEachOps.java:150 ) at java.base@17.0.2/ java.util.stream .ForEachOps$ForEachOp$OfRef.evaluateSequential( ForEachOps.java:173 ) at java.base@17.0.2/ java.util.stream .AbstractPipeline.evaluate( AbstractPipeline.java:234 ) at java.base@17.0.2/ java.util.stream .ReferencePipeline.forEach( ReferencePipeline.java:596 ) at app//org.hibernate.internal.SessionFactoryImpl.<init>( SessionFactoryImpl.java:292 ) at app//org.hibernate.boot.internal.SessionFactoryBuilderImpl.build( SessionFactoryBuilderImpl.java:415 ) at app//org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build( EntityManagerFactoryBuilderImpl.java:1425 ) at app//org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory( SpringHibernateJpaPersistenceProvider.java:66 ) at app//org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory( LocalContainerEntityManagerFactoryBean.java:376 ) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:409 ) ... 112 more Caused by: org.hibernate.HibernateException: Could not fetch the SequenceInformation from the database at app//org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList( ExtractedDatabaseMetaDataImpl.java:302 ) at app//org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.getSequenceInformationList( ExtractedDatabaseMetaDataImpl.java:151 ) at app//org.hibernate.id.enhanced.SequenceStyleGenerator.getSequenceIncrementValue( SequenceStyleGenerator.java:561 ) at app//org.hibernate.id.enhanced.SequenceStyleGenerator.configure( SequenceStyleGenerator.java:210 ) at app//org.hibernate.id.factory.internal.StandardIdentifierGeneratorFactory.createIdentifierGenerator( StandardIdentifierGeneratorFactory.java:217 ) ... 130 more Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "start_value" not found [42122-214] at app//org.h2.message.DbException.getJdbcSQLException( DbException.java:502 ) at app//org.h2.message.DbException.getJdbcSQLException( DbException.java:477 ) at app//org.h2.message.DbException.get( DbException.java:223 ) at app//org.h2.message.DbException.get( DbException.java:199 ) at app//org.h2.jdbc.JdbcResultSet.getColumnIndex( JdbcResultSet.java:3492 ) at app//org.h2.jdbc.JdbcResultSet.getLong( JdbcResultSet.java:745 ) at app//com.zaxxer.hikari.pool.HikariProxyResultSet.getLong( HikariProxyResultSet.java ) at app//org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.resultSetStartValueSize( SequenceInformationExtractorLegacyImpl.java:110 ) at app//org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.lambda$extractMetadata$0( SequenceInformationExtractorLegacyImpl.java:54 ) at app//org.hibernate.tool.schema.extract.spi.ExtractionContext.getQueryResults( ExtractionContext.java:50 ) at app//org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl.extractMetadata( SequenceInformationExtractorLegacyImpl.java:39 ) at app//org.hibernate.engine.jdbc.env.internal.ExtractedDatabaseMetaDataImpl.sequenceInformationList( ExtractedDatabaseMetaDataImpl.java:286 ) ... 134 more MemberRepositoryTest > testMember() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:142 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1751 Caused by: jakarta.persistence.PersistenceException at AbstractEntityManagerFactoryBean.java:421 Caused by: org.hibernate.MappingException at StandardIdentifierGeneratorFactory.java:222 Caused by: org.hibernate.HibernateException at ExtractedDatabaseMetaDataImpl.java:302 Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException at DbException.java:502 1 test completed, 1 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:///C:/Users/User/source/BackEnd/SpringBoot1/jpashop/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 8s 4 actionable tasks: 2 executed, 2 up-to-date
KeyCloak 을 인가서버로 활용하고 Resource 자원 사용하는 Data API 인가 처리를 하는 Auth API (Gateway) 를 구현해서 진행하고 있습니다. 그런데 너무 여러가지 방식이 많다보니 혼돈이 와서 선생님이 가르쳐주신 방식으로 인가와 인증을 구현하려고하는데, 인가 서버 -> KeyCloak 사용 게이트 웨이에 Oauth2 를 넣으려고 하는데 개념적으로 궁금한 점이 있어 여쭤봅니다. 공개 클라이언트 방식과 기밀 클라이언트 가 구현함에 있어 어떤 차이를 가지는지 의문입니다. 가령 react -> KeyCloak 요청 시 token 을 바로 가져오려고 하는데, 이 토큰을 받는 것 까진 문제가 없습니다. 하지만 영상에서 보여주신 것과 같이 자원 API 로 접근하는 권한을 획득하기 위해서 기밀 클라이언트 방식으로 구현하면 code 를 리다이렉트 받은 uri 와 token 요청시 리다이렉트 uri 가 같아야하는 문제가 있어서 code 를 auth api 로 받은 뒤 토큰 엔드포인트를 찍어 스프링 프로젝트에서 가져올 때 오류가 발생합니다. react -> keycloak -> code 반환 받은 것 -> spring -> redirect uri 문제로 토큰 발급 불가 가 되는데 어떤 형식으로 처리해야 맞는 것인지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. application.yml jpa: hibernate: ddl-auto: create 이라 되어 있는데, 기존의 테이블이 드랍되지 않습니다. 질문 게시판을 검색해보니, H2의 버전이 1.4.200인 경우에는 하이버네이트 버전을 5.4.13.Final 로 바꿔야 한다고 되어 있네요. 그래서, build.gradle 에 ext["hibernate.version"] = " 5.4.13.Final " 를 추가 해놓고 다시 돌려보니 이제는 엄청난 에러메시지가 나오네용.. 하이버네이트 버전을 바꾸는 방법이 올바르지 않았나요?
안녕하세요 챕터 6 부분을 공부하고 있는데 void를 쓰는 경우와 안쓰는 경우의 차이가 잘 와닫지 않습니다. 리턴값이 없으면 void를 쓰고, 리턴값이 있으면 void를 안쓴다고 알고 있는데 리턴값부터 이해가 잘 가지 않네요! 예를 들어서 // 호텔 주소 public static String getAdress() { return "서울시 어딘가"; } 과 셋째 줄에 sout "서울시 어딘가" 를 쓰는 것은 무엇이 다른건지요? 감사합니다 :)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 쿼리 dsl에서 많이 설명 해주셨는데요 그렇다면 dsl을 쓰는 현업에서는 jpql을 사용할 일이 전혀 없을까요 ? 전혀 없다고 해도 근본이 되는 jpql을 알아둬야 하겠지만 학습시간에 대한 비중을 어디에 크게 둬야 할지 의문입니다 .
안녕하세요 영한님 강의 잘 듣고 있습니다^^ 전부터 궁금해 왔던 것인데요, 팩토리를 만들 때 정적으로 올리는 이유에 대해서 궁금합니다 영한님이 다른 QnA에서 추천해 주신 내용들을 읽어보았으나 굳이 왜 "정적"영역으로 보내는 가에 대한 의문은 쉽게 풀리지 않습니다 ㅜㅜ 일단 정적 팩토리 메서드로 보내면 생성자들에 대한 응집도가 크게 떨어지는 느낌입니다. "엘레강트 오브젝트"라는 책을 보면 생성자는 10~15개 까지도 만들고 퍼블릭 메서드를 최대한 적게 가져가라고 가이드를 주는데요, 정적 영역으로 보내면 주/부 생성자로 보낼 수 없기 때문에 그 많은 생성자들이 다 흩어지고, 생성자들 간 관계를 맺을 수 없기 때문에 유연성이 떨어지고 코드 중복이 자주 일어나는 효과가 나는 것 같습니다 이는 굳이 정적 영역으로 보내지 않고 주/부 생성자로 구분하면 쉽게 해결될 일이 아닌가? 하는 생각도 들어 질문을 드립니다
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 일대다[1:N] 강의의 16분 29초 쯤에 연관관계의 주인이 양쪽에 모두 있으면 망한다라는 언급이 있으신데, 순서가 꼬이거나 예측이 안된다는게 구체적으로 어떤 의미인지 예시가 있을까요? 정말 단순하게 생각하면 어쨋든 연관관계의 주인이 아닌 쪽에서 mappedby를 통해 읽기 전용으로 설정하지 않아도 Member에서 추가하나 Team에서 추가하나 반영될 수 있다면 오히려 좋지 않나 싶은 의구심이 들어서 질문드립니다 감사합니다 :)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 잘모르겠습니다 ㅎㅎ.. 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 1. 데이터 삽입 순서 관련 질문 서버가 여러 대 있다고 가정했을 때, 각 서버에 하단의 이미지처럼 메모리에 50개씩 값을 올려둘 경우, DB에 들어가는 데이터가 순차적으로 안들어가지 않나요? 구체적으로 생각해보지는 않았지만, 순차적으로 데이터가 들어가지 않을 경우에 대한 이슈가 있지 않을까 싶어서 질문드립니다! 2. 중간에 비어있는 구간 관련 질문 위와 마찬가지로 서버가 여러 대 있고 각 서버마다 50개씩 메모리에 할당했다고 가정했을 때, 특정 서버가 죽게되면 죽은 서버의 메모리가 가지고있던 개수만큼의 공백이 생기지 않나요? (거의 그럴 일은 없겠지만) 서버가 시도때도없이 다운될 경우 아무리 Long 타입을 지정했음에도 수가 넘어가는 케이스가 생기지 않을까 싶습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] 질문 1 ============================================ 별칭과 관련하여 영한님의 댓글을 찾아보던 도중 라는 글이 있습니다. 제가 이해한 바로는 1:N 이던 N:1 이던 1:1 이던 페치조인할때 별칭은 사용하지 않는것이 좋지만 페치 조인시 별칭을 사용했을때와 별칭을 사용하지 않았을때와 의 데이터가 일치한다면(정합성) 사용 할수 있다 이렇게 이해를 했는데 맞나요 ? 질문 2 ============================================ 페치조인시 1:N 에서 페이징을 사용할수 없는 이유는 페치조인의 메커니즘 자체가 1:N 이면 N 만큼 데이터를 다 가지고 있어야 하는데 ex) @OneToMany(mappedBy = "team") private List<Member> members = new ArrayList<>(); (Team 은 페치조인시 members 의 뻥튀기 된 데이터를 모두 가지고 있어야한다) 그런데 이때 페이징을 실행하면 뻥튀기된 데이터를 가지고 있을수가 없다. 그래서 JPA는 메모리에 모든 정보를 끌어모아 저장 시킨후 메모리에서 페이징 처리를 실행 하기 때문에 메모리 부족 현상이 나타날수 있다 이렇게 이해를 했는데 맞나요 ? (질문1,2) ======================질문3 페이징 처리를 위해 N:1 을 1:N 으로 바꿔서 페치조인을 하면 되는데 막상 이 쿼리를 디비에 실행해도 둘다 데이터가 각 3건씩 똑같이 나오는게 맞나요 ? (뻥튀기 가 일어나면 데이터가 더많아야 하는게 아닌가요 ? 1:n 조인이) 각각 1:N , N:1 페치조인 실행한 결과 [데이터 뻥튀기는 -> 데이터 베이스 쿼리는 동일하게 나오나, 자바 객체에서 뻥튀기 ->[중복] 현상이라고 생각하면 되는건가요 ??] 이 부분은 몆번을 봐도 햇갈리네요
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] cmd창에서 dir입력하고 gradle은 있는데 gradlew는 나오지 않네요... C드라이브 안에 study 폴더가 있고, 그안에 hello spring이 있는 상태인데 어느 부분에서 잘못한 것일까요? ㅠㅠ
안녕하세요 궁금한 부분이 있어 질문 남깁니다 7:58~ 에서 프로퍼티 접근은 setter 를 통해 값이 들어가므로 @Data 애노테이션을 지우고 직접 getter, setter를 만들어주셨습니다. 저는 setter가 없으면 오류가 날 것이라 생각하여 getter, setter를 생성하지 않고 테스트를 해보았는데 정상적으로 실행되더라고요. 오류가 나지 않는 게 맞는지, 그렇다면 이유가 무엇인지 궁금합니다 ㅠㅠ 아래는 실행한 코드입니다 public class MemberDto { private String username; private int age; public MemberDto() { } } @Test public void findDtoBySetter() { List<MemberDto> result = queryFactory .select(Projections.bean(MemberDto.class, member.username, member.age)) .from(member) .fetch(); for (MemberDto memberDto : result) { System.out.println("memberDto = " + memberDto); } } +추가.. .....뒤늦게 MemberDto에 @ToString 을 달아 확인해보았습니다. 오류는 나지 않았지만 안에 값은 없었네요 ㅎㅎㅎ.......
안녕하세요, 기본 키 자동 증가에 관해서 궁금한 게 있어서 질문 드립니다. 기본 키 자동 증가를 @GeneratedValue만 작성해주셨는데 찾아보니 @SequenceGenerator 라는 어노테이션도 있더라고요, 이 어노테이션은 굳이 사용을 안 해줘도 되는 것 인가요?
안녕하세요, Auditing 기능에 대해서 궁금한 게 생겨 질문 드립니다. Auditing 이라는 기능으로 작성일, 수정일, 작성자, 수정자를 기록할 수 있다고 해주셨는데 삭제일, 삭제자를 기록하는 기능은 Auditing에서 제공 안 해주는 건가요? 구글링 해봐도 그런 기능은 없는 것 같아서요. (다른 기술을 사용해야 하는 건가요?)