Oauth와 SpringBoot
이 책을 실습하던 중에 에러가 생겼다.
바로 구글 소셜로그인을 Oauth로 구현을 했는데, 다음과 같은 오류가 발생했다.
아니 왜??
구글링을 해보니 controller가 같은 주소로 요청하는게 있어서 그렇다는데, 눈을 씻고 찾아봐도 안보였다. 삽질을 계속하길 2시간 째, 어딘가 오타가 있는데 내가 못찾는거 같아서, 최후의 방법으로 다른 블로거 리뷰에 나온 코드를 복붙!!을 해보았다.
하지만 기대와는 달리 실패...
그러다가 문득 로그가 생각나서 한번 찾아보니 다음과 같은 내용이 기록되어 있었다. (
왜 이제 봤지?
)
2022-02-04 21:54:46.115 WARN 17604 --- [nio-8080-exec-5] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 42001, SQLState: 42001
2022-02-04 21:54:46.115 ERROR 17604 --- [nio-8080-exec-5] o.h.engine.jdbc.spi.SqlExceptionHelper : Syntax error in SQL statement ...
느낌적인 느낌으로 SQL 구문 에러가 났다는거 같았는데, JPA를 써서 SQL문을 하나도 안 쓴 나에게(
JPA 사랑합니다
) 구문 오류라니?! SQL오타는 절대로 발생할 수 없기 때문에 한번 h2를 열어서 확인해보니
USER 테이블이 없었다. 왜지??
그래서 이것도 왜그런지 구글링를 해보았다. 이 블로그 글을 참고해보면 order 객체는 order by의 예약어라서 테이블이 생성이 잘 안된다고 한다. (
근데 너는 이름이 다르잖아..
) 아무튼 USER 객체의 테이블 이름을 @Table(name = users)
를 사용하여 바꾸었더니
깔끔하게 테이블 생성 성공!!
로그인도 성공!!
왜 로그를 늦게 봤는지ㅠㅠ
다음부턴 로그먼저.. 보자 제발..
Ps. user라는 이름의 테이블이 왜 생성이 안되는지 아시는 분이 계신다면 댓글 남겨주시면 감사하겠습니다.
참고
'개발 > [오류]' 카테고리의 다른 글
CORS와 스프링에서의 해결법 (0) | 2023.05.28 |
---|---|
Redirect URL에 쿼리 파라미터가 생기는 경우 (0) | 2022.04.14 |
Embedded Type Test 문제와 H2 GenerationType 문제 (0) | 2022.04.12 |
ModelAttribute 관련 오류 (0) | 2022.03.23 |
테스트 데이터 격리 (0) | 2022.03.18 |