我有一个实体,其属性的列名包含问号。如何映射列名,以便HQL查询将正确生成SQL,并适当地包装列名(即SQL Server的[]),而不是用参数替换问号?我尝试用反引号或方括号包装列名,但这不起作用。
答案 0 :(得分:2)
Backticks对我来说很好。请记住仅在映射文件中使用它们,而不是在HQL中使用它们:
<property name="Data1" column="`Data1?`" />
此查询:
session.CreateQuery("select Data1 from Foo").List();
此SQL中的结果:
select foo0_.[Data1?] as col_0_0_
from Foo foo0_
更新:这是NHibernate 3.1中的一个错误。 Jira issue created