表名hibernate中的特殊字符给出错误

时间:2015-12-03 11:40:33

标签: java mysql hibernate

我正在尝试从Hibernate更新表。我的桌名有特殊字符' @'在名字的开头。当我尝试更新它时,它会给我以下错误。

  
    

SEVERE:servlet [kendo]的Servlet.service()在路径[/ GanttView]的上下文中引发了异常[请求处理失败;嵌套异常是org.hibernate.QueryException:意外的char:' @' [根据原因更新[@IS_Demand] set sel = 1]]         org.hibernate.QueryException:意外的char:' @' [更新[@IS_Demand]设置sel = 1]

  

我不想更改数据库中表的名称,因为那时我将不得不改变很多东西。有什么方法可以访问它。 我尝试过许多其他组合,比如

\"@IS_Demand\"  or  '@IS_Demand' or '[@IS_Demand]'

有人知道答案吗?

3 个答案:

答案 0 :(得分:1)

您需要设置一个属性。

<property name="hibernate.globally_quoted_identifiers" value="true"/>

有关详细信息,

AvailableSettings.html#GLOBALLY_QUOTED_IDENTIFIERS

答案 1 :(得分:0)

尝试使用escape charater来实现相同的

\\@IS_Demand

!@IS_Demand

答案 2 :(得分:0)

设置属性hibernate.globally_quoted_identifiers=true

相关问题