`

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

阅读更多

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

ERROR JDBCExceptionReporter:78 - 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 'Datadabase reserved keyword....

例如:

在MySql中,"desc"是保留字,我们有两种方式实现。

1,使用[]

<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;
}

2,使用单引号包围双引号

<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;
}

这种方式也适用于表名。

 

 

分享到:
评论

相关推荐

    ssh登录,注册.pdf

    SSH,全称Secure Shell,是一种网络协议,用于在不安全的网络环境中提供安全的远程登录...在实践中,应注意避免数据库关键字冲突,正确配置数据源,以及合理地将Hibernate整合到Spring中,以实现高效、灵活的开发流程。

    java编码规范

    - **表名**:一般采用小写字母,多个单词间用下划线连接,如`user_info`,避免使用保留字。 - **字段名**:遵循与表名相同的命名规则,字段类型与业务逻辑相符,如`username`、`password`。 - **索引**:合理...

    Java面试题

    - Java中并没有`goto`关键字,它是Java的保留字,目前未被使用。 3. **`&`和`&&`的区别**: - `&`和`&&`都可以作为逻辑与运算符。只有当两边的表达式都为真时,结果才为真。 - `&&`具有短路特性,如果左边的...

    Java经典面试题集(详尽版).doc

    - **`goto`**:`goto`在Java中是保留字,但未被使用,这意味着程序员不能定义名为`goto`的标识符。 5. **封装类与原始类型**: - **`int`与`Integer`**:`int`是原始类型,`Integer`是其对应的封装类,用于处理...

    javaWEB面试题集合

    保留关键字可能在未来版本中使用,因此不能作为标识符使用。 #### 六、引用类型与原始类型 Java中有八种原始类型:`boolean, char, byte, short, int, long, float, double`,每种都有对应的封装类型。原始类型直接...

    java软件工程师面试题题集

    - Java中不使用`goto`关键字,但它是保留字,可能在未来版本中使用。 7. **逻辑与运算符**: - `&`是按位与运算符,不论两边表达式是否都为真,都会执行右边的表达式。而`&&`是短路与运算符,如果左边表达式为假...

    J_HI 平台 及 开发文档

    - **关键字、保留字列表**:列出开发中应避免使用的关键字和保留字。 9. **相关资料附录** - **C3P0连接池配置描述**:详细说明了C3P0连接池的配置方法。 - **Acgei与配置文件相关的类说明**:解释了与配置文件...

    北京达内面试题集.doc

    6. **goto关键字**:Java中并没有使用goto,它是一个保留字,但并未在现有版本的Java中实现。 7. **int与Integer**:int是Java的原始数据类型,而Integer是其对应的封装类。原始类型直接存储值,封装类则提供了对象...

    java_编程常用英语单词_解释.pdf

    - **解释**: “Goto”是Java中的一个保留字,尽管它在标准Java语言中不被使用。它通常用于表示跳转到程序中的某个位置,但在现代编程实践中很少使用。 #### 40. Heap (堆) - **拼音**: [hi:p] - **解释**: “Heap”...

    进入IT企业必读的324个JAVA面试题

    3. **Java中的关键字与保留字**: - 关键字如`public`、`private`、`protected`等用于定义访问级别。 - `class`、`interface`、`enum`等用于定义类和接口。 4. **变量的作用域**: - 局部变量:在方法或块内声明...

    我的开发笔记--java

    在本文中,我们将深入探讨Java相关的开发笔记,主要包括Servlet基础知识、JDBC、Hibernate、Struts 1.X的使用以及JavaScript。这些技术是构建现代Web应用程序的基础。 首先,让我们了解一下HTML基础。HTML(超文本...

    Java经典面试题集(详尽版)

    - **goto**:Java保留字,但未实际使用。 6. **封装类和原始类型**: - **int与Integer**:`int`是原始类型,`Integer`是其对应的封装类,封装类支持额外的方法和空值。 7. **OOAD & UML**: - **对象导向分析...

    java面试题

    5. **关键字`goto`**:在Java中,`goto`是一个保留关键字,但目前并未实际使用。 6. **`int`与`Integer`**:`int`是原始数据类型,`Integer`是其对应的包装类。包装类提供了额外的方法和功能,如`equals()`,`...

    java工程师面试题

    - `goto` 是 Java 中的保留字,但目前并未在标准语言规范中使用。 7. **引用类型与原始类型** - `int` 是原始数据类型,而 `Integer` 是 `int` 的封装类。原始类型直接存储值,而封装类型存储指向值的引用。 8....

Global site tag (gtag.js) - Google Analytics