今天无意中重启项目之后出现问题:
[2021-08-17 15:55:48,511] [WARN ] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper 137] [] traceLogid:[]【】dstTraceId:[] SQL Error: 1064, SQLState: 42000
[2021-08-17 15:55:48,512] [ERROR] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper 142] [] traceLogid:[]【】dstTraceId:[] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'function functionen0_ where functionen0_.function_uuid=‘2019f296-5968-11eb-b85b-’ at line 1
[2021-08-17 15:55:48,512] [INFO ] [org.hibernate.event.internal.DefaultLoadEventListener 116] [] traceLogid:[]【】dstTraceId:[] HHH000327: Error performing load command
查找原因之后发现时因为在MySQL中,有很多字显示被保留,我们使用的这个表名刚好就是这个问题导致。其实一开始没想到是因为之前的MySQL版本可能校验没这么严格,这次重启是装了一个高版本的MySQL才出现;
问题总结就是在建表的时候尽量加上前缀T_表名,这样可以在很多时候避免产生这个问题的出现。不小心使用关键字就会报这个错误,关键字这里就不罗列了,有很多文章都有哦。