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
    
    ... 생략 ...