【发布时间】:2014-11-24 07:54:52
【问题描述】:
我需要在 Java 中使用 hibernate 在 sqlserver 中映射一个在列名中有空格的表。
我使用Sqlserver 2008 jre7 com.microsoft.sqlserver.sqljdbc4 和Hibernate 3.3.2
我在不同的论坛中发现了很多类似的问题,但我阅读的解决方案都没有奏效。
我尝试使用反引号
<property name="nameSpaces" type="string" >
<column name="`Name with spaces`" not-null="false" />
</property>
这是错误
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '`'.
我也尝试使用 [] 括号,但 hibernate 再次将其转换为 `。
<column name="[Name with spaces]" not-null="false" />
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '`'.
最后我两个都试过了
<column name="`[Name with spaces]`" not-null="false" />
或
没有成功。
有人可以帮助我吗?是否有任何休眠配置可以更改以使用这些列名。
谢谢
【问题讨论】:
-
为什么要在列名中首先使用空格?使用snake_case
-
我不想要空格,不幸的是我没有设计数据库我被要求不要更改列名。
-
朋友,我是批注迷。我尝试了它,它与注释一起工作得非常顺利。 @Entity @Table(name = "\"test_table\"") public class TestModel {@Id @Column(name="\"test id\"") private int id;公共 TestModel() { } }
标签: java sql-server hibernate sql-server-2008