김영한 선생님의 스프링 입문 강의 중
284
작성한 질문수 1
안녕하세요. 김영한 선생님의 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 수강 중인 학생입니다. 섹션 6 DB 파트의 JPA 마지막 회원가입 test를 하는 중 에러가 발생했습니다. 에러가 난 부분은 코드 블럭의 memberService.join(member);의 join에서 나는 것 같습니다. javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not prepare statement 의 에러 메세지도 함께 뜨는데 찾아봐도 잘 모르겠습니다.
@Test
void 회원가입() {
// given
Member member = new Member();
member.setName("spring");
// when
Long saveId = memberService.join(member);
// then
Member findMember = memberService.findOne(saveId).get();
assertThat(member.getName()).isEqualTo(findMember.getName());
}
답변 1
0
안녕하세요. te9908님, 공식 서포터즈 OMG입니다.
JPA 챕터 진행중 SQL그래머 예외가 발생하였다면 아래의 2개의 메서드(findAll, findByName중 강의와 다른 부분이 있어 발생하지 않았나 예상합니다.
제공해드리는 메뉴얼에서 해당 코드를 복사하여 진행중인 프로젝트 코드에 붙여넣어서 실행해보시겠어요?
해결이 안될 경우 댓글 남겨주세요 :)
감사합니다.
0
could not prepare statement라는 SQL그래머 예외가 발생합니다. 강의 중에서 pstmt를 사용했던 기억이 있는데 혹시 이 부분에서 무언가 빠져서 생기는 예외일까요...? 코드를 다시 쭉 살펴봤지만 별다른 에러메세지는 보이지 않았습니다...
0
안녕하세요. te9908님. JPA 진행중이라 하여 해당 부분의 오류를 예상하였는데요, Jdbc 쪽 문제일 수도 있습니다. 추측만 가능하여 코드를 직접 실행해봐야 알 것 같아요.
실제 동작하는 전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.
주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요
감사합니다.
1
https://drive.google.com/file/d/1LEh6oeMt9d325jixHuOai1BqGCSWVv5d/view?usp=drive_link
도움주셔서 너무 감사드립니다.
0
코드 확인해보았습니다.
@Column(name = "username")
private String name;=>
@Column(name = "name")
private String name;으로 변경해주세요 :)
문제 해결의 단서는 아래와 같이 USERNAME을 찾을 수 없다는 메시지가 출력되어 확인할 수 있었습니다.

맥유저 입장의 고려해주세요
2
81
1
케이테스트 서버 운영 방법
2
52
1
수업 잘 들었습니다.
2
25
2
실행과정 질문입니다.
2
25
1





