流年转出的岁月

分而治之

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

问题:当实体指定的表名或字段名为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; }


阅读更多
个人分类: java
上一篇Javascript prototype 的一些扩展
下一篇配置JAVA程序使用Fiddler
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭