인프런 커뮤니티 질문&답변

조현민님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

H2 데이터베이스 설치

7강 application.yml에서 막히고 있습니다...

작성

·

216

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오) 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
현재 7강에서 h2에 insert가 안되가지고 구글링 다 하면서 여러 방법을 시도해보았지만 해결이 안되서 강의 진행을 못하고 있습니다. ..

20240429_230208.jpg쿼리가 안뜸.jpg20240429_230326.jpg

현재 제가 놓친 부분이 있다면 가르쳐주시면 감사하겠습니다.

그리고 testMember에 커밋은 구글링 하다가 마지막 방법으로 찾아본거라 이전 방법은 다 해본 것 같습니다.

답변 2

0

안녕하세요. 조현민님, 공식 서포터즈 OMG입니다.

데이터 저장이 안된다고 하셨는데, 올리신 화면 외 두 가지 추가로 확인이 필요할 것 같아요.

(1) h2에서 접속하여 조회하려는 DB URLyml에 적용한 url과 동일할까요?

추가로, 만약 test/resources/에 별도의 application.yml이 존재한다면 main/resources에 적용한 yml(올리신 설정) 이 우선순위에 밀려 적용되지 않습니다.

(2) memberRepository.save()의 구현 코드 확인이 필요합니다. 정상적으로 persist()를 하고 있을까요?

두 가지 사항 확인해보시고 해결이 안될 경우 댓글 남겨주세요 😀

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 조현민님의 질문에 대해 참고하실 만한 기존의 답변을 찾아봤습니다.

특정으로, 강민석님의 질문과 유사한 상황을 겪으신 것 같습니다. 강민석님은 application.yml에서의 들여쓰기 문제로 인해 JPA 관련 설정이 제대로 적용되지 않아 발생한 문제를 겪었습니다. 해당 문제를 해결하기 위해선 spring.datasourcespring.jpa 관련 설정의 정확한 들여쓰기와 구성을 확인해야 합니다.

특히, 현민님이 공유하신 이미지를 기준으로 질문을 주셨을 때, application.yml 파일의 구성과 테스트 코드에 @Transactional@Commit 어노테이션 사용에 주의가 필요합니다. 기본적으로 @Transactional 어노테이션이 붙은 테스트 메소드는 테스트가 끝난 후 자동으로 롤백을 시도합니다. 따라서 DB에 반영을 원하신다면, @Commit 어노테이션을 추가하신 것은 적절한 조치였습니다.

아래는 이와 관련된 기존 답변 링크입니다:

  • 해당 문제와 유사한 상황에서의 해결 방법을 설명한 게시물: “testMember 시 오류 발생 (MySQL 사용)”에서 강민석님이 경험한 'application.yml' 설정 문제 사례
    • 이 사례에서 강민석님은 application.yml에서의 잘못된 들여쓰기가 문제의 원인임을 발견하고 수정하여 문제를 해결하셨습니다. spring.datasourcespring.jpa 설정을 포함한 전체 설정의 들여쓰기와 구성을 다시 한번 살펴보시는 것이 좋을 것 같습니다.

정리하자면, application.yml 파일의 들여쓰기 및 설정 부분을 다시 한번 검토하시는 것이 중요합니다. spring.jpaspring.datasource와 같은 들여쓰기 레벨에 위치해야 하는지, 혹은 그 하위에 위치해야 하는지 등의 점을 살펴보시기 바랍니다. 또한, 테스트 설정에 @Transactional@Commit을 어떻게 사용하고 계신지 정확한 조건에 맞는지 확인해 보시길 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.