我正在尝试从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]'
有人知道答案吗?
答案 0 :(得分:1)
您需要设置一个属性。
<property name="hibernate.globally_quoted_identifiers" value="true"/>
有关详细信息,
答案 1 :(得分:0)
尝试使用escape charater来实现相同的
\\@IS_Demand
或
!@IS_Demand
答案 2 :(得分:0)
设置属性hibernate.globally_quoted_identifiers=true