数据表表名或字段名为SQL关键字时Hibernate解决方案

原创 2015年11月18日 13:49:09

问题:当实体指定的表名或字段名为SQL关键字时,hibernate建表失败。

解决方法有三种:

一、将表名或字段名用方括号([])括起来。

xml配置:

<property name="desc" type="string" > 
<column name="[DESC]" length="255" not-null="true" /> 
</property>


注解:

@Column(name = "[DESC]", nullable = false) 
public String getDesc() { return this.desc; }


二、将表名或字段名用两个重音符号(`)括起来

重音符号键即是键盘上“1”键左边的、“Tab”键上边的那个键。此符号亦被称为“反向引号”。

xml配置:

<property name="desc" type="string" > 
<column name="`DESC`" length="255" not-null="true" /> 
</property>

注解:

@Column(name = "`DESC`", nullable = false) 
public String getDesc() { return this.desc; }

三、将表名或字段名用双引号(")括起来

xml配置:

<property name="desc" type="string" > 
<column name='"DESC"' length="255" not-null="true" />
 </property>


注解:

@Column(name = "\"DESC\"", nullable = false) 
public String getDesc() { return this.desc; }


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

hibernate中使用数据库关键字(保留字)

在hibernate中,当一个实体对象使用了数据库保留字作为字段名称(虽说不推荐,但少数情况下必须使用),执行保存操作时,你可能会遇到如下错误。 ERROR JDBCExceptionRepor...

“在关键字 'COLUMN' 附近有语法错误。”是怎么回事?其实很简单!

在ASP程序中,想通过ASP在数据表中添加新字段,根据“sql中文参考手册.chm”中所述,用了“ALTER TABLE Employees ALTER COLUMN Salary CHAR(20)”...

hibernate生成表时候,注意不能使用mysql关键字和保留字(比如order)

问题: 今天在用hibernate建一张订单表的时候遇到了一个问题,订单的信息表始终无法创建,莫名其妙,最后发现和sql语句的关键字冲突了。现在分享一下。 报错信息如下:(指的sql语句语法错误) ...

用hibernate生成表时,字段名不能为order

今天在写代码时,想写一个menu的Model,其中一个字段名用到了order,怎么都无法创建表,查了之后才发现,原来order是mysql关键字,不能作为字段名。 不过用mysql navigato...

Hibernate生成sql语句中列名问题

今天遇到一个Hibernate问题,在程序中的hbm.xml映射文件中数据库表的列名是首字母大写(如:ProductUrl),数据库中也是首字母大写(如:ProductUrl),但是Hibernate...

Hibernate中HQL命名查询和SQL命名查询

一、HQL中的命名查询 在class配置文件外 @org.junit.Test //HQL命名查询,通过配置文件 public void findEmpById(){ ...

Hibernate之——动态表名映射

最近用Hibernate做一个项目的时候遇到这么一个问题: 用一个配置文件,一个类去映射多个表,(每个表的结构相同)。按照平时的做法,有多少个表就要 写多少个配置文件,岂不是很麻烦。怎样才能只写一...

MySQL表名和数据库关键字相同解决办法

当MySQL的表名和数据库关键字相同时,应要给表名加上``符号(tab键上方)。 SELECT COUNT(*) FROM `order`;
  • chlhp
  • chlhp
  • 2011-08-30 19:23
  • 5546

关于 数据库表名为关键字 如 user。。

.net 连access 检举 | 2008-2-27 13:35 提问者: chenmingyue304 | 浏览次数:1292次 using System; using...

hibernate 映射文件 当表名或字段名与数据库关键字冲突 该如何解决?

映射文件如下:[html] view plain copy
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)