inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Trong thực tế! Sử dụng Spring Boot và JPA1 - Phát triển ứng dụng Web

JPA와 DB설정, 동작확인 과정 에러

5910

skyjoon2

48 câu hỏi đã được viết

1

강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)

질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. 
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!

구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.

기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. 
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. 
• 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.

안녕하세요 강의를 듣던 도중 에러가 발생하여 문의드립니다...

java.lang.IllegalStateException: Failed to load ApplicationContext 라고 뜨는데 

구글링해보니 @Webappconfiguration 을 해주면 된다고해서 이것도 해보고 저것도 해봤는데.. ㅜ

yml설정도 똑같이 따라해보았는데 어디서 잘못된건지 잘 모르겠네요 ㅜㅜ 알려주시면 감사하겠습니다.

JPA java spring 웹앱 spring-boot

Câu trả lời 7

13

yh

ㅋㅋㅋ 코드가 예민해야 개발자가 편합니다. ㅎㅎㅎ

화이팅!

3

yh

마지막에 ;MVCC=TRUE 이 부분을 제거해주시겠어요?

추가로 jpa: 앞 부분에 띄어쓰기가 4칸 들어가 있는데요. 2칸으로 해주셔야 합니다. jpa: 포함 아래 7줄 다 2칸씩 당겨야 해요^^!

0

km54277

안녕하세요 강의 잘 듣고 있습니다!!!

저도 동일한 에러에 직면한 상황인데, MVCC:TRUE를 제거하니까 해결이 됐습니다!

그런데, yml 설정 정보에서 MVCC:TRUE로 하면 "뭔가를 한번에 다 처리해서 좋다."라는 식의 말씀을 하시면서 추가를 하셨었는데 이 에러 상황에서 MVCC:TRUE 이 부분을 제거하는 이유가 궁금합니다.

 

감사합니다.

 

0

yh

안녕하세요. km54277님

H2 데이터베이스가 업그레이드 되면서, MVCC가 기본으로 TRUE로 동작하도록 변경되었습니다.

그래서 해당 옵션은 사용하지 않게 되었습니다.

감사합니다.

2

skyjoon2

우와아아아아아아아아아악!!!!!!!!!!! 

진짜 코드는 예민하네요 아... 정말.. 늦은시간까지 진짜 정말로 감사합니다. ㅜㅜ

하... ㅜㅜㅜㅜㅜㅜ 진짜 김영한강사님 천재 최고 진짜 짱입니다. 감사합니다. 

다음에 또 뵙도록하겠습니다. 감사합니다!!

0

skyjoon2

네  localhost:8082 접속 잘되며 h2 데이터베이스도 서버 모드로 띄워두었습니다. ㅜ

application.yml같은경우는 아래와 같습니다. ㅜ

spring:
datasource:
url: jdbc:h2:tcp://localhost/~/jpashop;MVCC=TRUE
username: sa
password:
driver-class-name: org.h2.Driver

jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
# show_sql: true
format_sql: true

logging:
level:
org.hibernate.SQL: debug


0

yh

이 오류는 보통 h2 데이터베이스를 서버 모드로 띄워두지 않았을 때 발생하는 오류입니다.

지금 localhost:8082로 서버에 잘 접속이 되는지 확인해보시겠어요?

그리고 h2 데이터베이스도 접근해보시겠어요?

그리고 application.yml에 설정 정보도 다시 한번 확인 부탁드립니다.

0

skyjoon2

네 h2서버는 실행시켜둔 상태였습니다. 

MemberRepositoryTest를 작성하고 실행한뒤 에러입니다. 

실행결과 에러는 아래와 같습니다.

java.lang.IllegalStateException: Failed to load ApplicationContext

at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132)

at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123)

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:244)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

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.run(ParentRunner.java:363)

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.startRunnerWithArgs(IdeaTestRunner.java:33)

at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)

at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)

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:1788)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:609)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:531)

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:1159)

at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:588)

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767)

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759)

at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426)

at org.springframework.boot.SpringApplication.run(SpringApplication.java:326)

at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:122)

at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99)

at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)

... 24 more

Caused 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:152)

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:176)

at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:127)

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1224)

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1255)

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:1847)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1784)

... 40 more

Caused 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:137)

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)

... 57 more

0

yh

안녕하세요. skyjoon2님

먼저 h2 데이터베이스를 실행해두셨는지 확인부탁드려요.

만약 그렇다면, 모든 에러 메시지를 다 남겨주세요.

테스트 질문, 어떤것을 사용할것인것에 대해서

0

71

1

setter 사용하지 않기

0

78

1

안녕하세요 치킨 디도스 이벤트 보고 흉내내보려 들어왔습니다..

0

104

2

OrderServiceTest 상문주문 테스트 시 update 쿼리 문의

0

90

1

sdk 설정 오류

0

163

2

오탈자 - @Transactional

0

109

1

src/test/resources 테스트 경로 문제

0

121

1

상품 등록후 H2 db 출력 순서 바꿀 수 있나요?

0

107

1

MemberRepositoryTest 실행오류

0

159

1

boot 4.x >>> trasasction rolled back log & p6spy(영한님, 수업 자료 업데이트 해주시면 감사하겠습니다!!)

1

275

2

강의 마지막 QueryDSL 사용 부분 질문있습니다

2

215

2

클라이언트에서 isbn과 author 수정 요청을 한 경우에 대해 질문드립니다.

0

89

1

도메인 모델 패턴 vs 트랜잭션 스크립트 패턴

0

147

1

기본 생성자

0

109

1

h2 DB 연결시 jdbc url 변경 이유가 궁금합니다.

0

153

1

멤버서비스테스트 부분에서 막힙니다.

0

254

4

실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?

0

200

1

초반에 h2 다운로드 과정 꼭 필요한가요?

0

187

2

자신 필드에도 get으로 접근하는 이유가 있을까요?

0

188

1

24분 27초 연관관계 편의 메서드 위치

0

153

1

단건 주문만 가능하게 한건 의도한 부분이신가요?

0

152

2

빌드 툴, Gradle

0

117

1

h2연결은 된 것 같은데 엔티티 테이블까지 작성 후 확인해보아도 테이블이 안보입니다

0

111

2

Repository에서 EntityManager 주입 방식 차이

0

141

1