error/error
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "\000a drop table if exists [*]user cascade "; expected "identifier"; SQL statement:
kim chan jin
2024. 1. 9. 20:59
User 엔티티를 갖고 있는데
User 객체를 생성하고 INSERT 하려할 때 발생한 에러.
H2 에서 User 는 예약어이기 때문에 Member 로 변경했더니 정상작동했다.
참고한 사이트
https://www.baeldung.com/spring-boot-h2-jdbcsqlsyntaxerrorexception-expected-identifier
에러 내용은 다음과 같다
... 생략 ...
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "\000a drop table if exists [*]user cascade "; expected "identifier"; SQL statement:
drop table if exists user cascade [42001-224]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:514) ~[h2-2.2.224.jar:2.2.224]
at org.h2.engine.SessionRemote.readException(SessionRemote.java:650) ~[h2-2.2.224.jar:2.2.224]
at org.h2.engine.SessionRemote.done(SessionRemote.java:619) ~[h2-2.2.224.jar:2.2.224]
at org.h2.command.CommandRemote.prepare(CommandRemote.java:78) ~[h2-2.2.224.jar:2.2.224]
at org.h2.command.CommandRemote.<init>(CommandRemote.java:50) ~[h2-2.2.224.jar:2.2.224]
at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:487) ~[h2-2.2.224.jar:2.2.224]
at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1166) ~[h2-2.2.224.jar:2.2.224]
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:245) ~[h2-2.2.224.jar:2.2.224]
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:231) ~[h2-2.2.224.jar:2.2.224]
at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94) ~[HikariCP-5.0.1.jar:na]
at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java) ~[HikariCP-5.0.1.jar:na]
at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:80) ~[hibernate-core-6.4.1.Final.jar:6.4.1.Final]
... 40 common frames omitted
... 생략 ...