Caused by: java.sql.SQLException: Failed to open the referenced table 'user'
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
~[mysql-connector-java-8.0.30.jar:8.0.30]
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
~[mysql-connector-java-8.0.30.jar:8.0.30]
at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:763)
~[mysql-connector-java-8.0.30.jar:8.0.30]
at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:648)
~[mysql-connector-java-8.0.30.jar:8.0.30]
at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94)
~[HikariCP-4.0.3.jar:na]
at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)
~[HikariCP-4.0.3.jar:na]
at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54)
~[hibernate-core-5.6.10.Final.jar:5.6.10.Final]
... 34 common frames omitted
엄청나게 멍청한 실수를 했는데, 심지어 원인 찾는 것도 너무 오래걸려서 시간을 굉장히 허비했다.
뭐가 잘못되었을까요?
https://dev.mysql.com/doc/refman/8.0/en/keywords.html
MySQL :: MySQL 8.0 Reference Manual :: 9.3 Keywords and Reserved Words
9.3 Keywords and Reserved Words Keywords are words that have significance in SQL. Certain keywords, such as SELECT, DELETE, or BIGINT, are reserved and require special treatment for use as identifiers such as table and column names. This may also be true
dev.mysql.com
check는 MySQL의 예약어라서 사용할 수 없다.
그리고 애초에 저 변수명을 왜..? check라고 지은 걸까..?????
user users 이런 거면 DB에 따라 다르니 모르고 실수할 수도 있는데
굳이 EmailCheck를 왜 check로..?
카테고리에 가장 걸맞는 최고의 삽질이였던 것 같다.