数据表/字段名称和数据库关键字冲突在Hibernate映射中的处理办法

时间:2021-08-26 12:27:39

环境:
HIBERNATE 3,MySQL 5.0

现象:
当表名或字段名和MySQL关键字有冲突时,会出错。

解决方法:
在 Hibernate 映射配置文件中,的将表名或字段名用两个重音符号(`)括起来。重音符号键即是键盘上“1”键左边的、“Tab”键上边的那个键。此符号亦被称为“反向引号”。
可以看到,这样做后Hibernate生成的SQL语句名称都用(`)括起来了,这样数据库便可以识别其不是关键字了。
特殊的表名和字段名,比如含有空格的名称,也可这样做。

参考
6.3. SQL中引号包围的标识符
baidu:SQL中引号包围的标识符
google:SQL中引号包围的标识符