spring 서버 작동시 문제발생
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement ~
expected "identifier"; SQL statement:
문제해결 방법 및 참고 :
키워드 구글링 : Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement
문제 해결한 참고 사이트 : https://github.com/h2database/h2database/issues/3363
문제원인 :
USER
is a reserved word in the SQL Standard and is a keyword in H2:https://h2database.com/html/advanced.html#keywordsYou need to quote it or force quotation of all identifiers in configuration of Hibernate ORM.
You can also add ;NON_KEYWORDS=USER
to JDBC URL as a workaround.
—> 내 클래스 이름도 User였다. 따라서 mysql의 쿼리문의 user때문에 오류 발생한것
문제해결 기술:
application.properties에 spring.datasource.url=jdbc:h2:mem:testdb;MODE=MYSQL에서 밑줄친 부분 추가 및 h2-console에도 위와 똑같이 추가.
참고 : H2 쿼리 호환성 체크
https://taes-k.github.io/2021/04/05/spring-test-isolation-datasource/