【发布时间】:2010-09-13 09:33:19
【问题描述】:
在我正在开发的应用程序中,我使用 NHibernate 作为 ORM。 我的应用必须支持 SQL Server 和 MS Access(我使用的是 NHibernate JetDriver)。
现在,问题是我有一个使用 HQL 或 ICriteria API 无法实现的查询;所以,我正在为那个使用 ISQLQuery。
现在,困扰我的是,NHibernate 似乎也在解析本机 SQL 查询,从而更改了该查询的 SQL 代码。 好像调用了具体的Driver实现,解析了我的查询;在 JetDRiver 的情况下,NHibernate 正在修改查询,这会导致查询无法执行。
那么,为什么 NHibernate 会改变我的原生 SQL 查询?
【问题讨论】:
-
查询究竟是如何改变的?
-
JetDriver 尝试更改 'from' 和 join 子句。访问需要特定的括号。不知何故,NH给了我一个例外,它无法完成连接括号。这是 JetDRiver 中出现的异常。查询在 Access 思想中有效。
标签: nhibernate hibernate