0
擴大複合ID我們有一個表映射覆合主鍵,如下圖所示:NHibernate的從HQL
mapping.CompositeId().KeyReference(e => e.Node).KeyProperty(e => e.DtFr).UnsavedValue("any");
我們需要從由複雜的條件下的表中刪除多個行,例如n.Node.Contract.Code = "1234"
按照solution我們嘗試下一個HQL:
delete from Entity n where n in (select c from Entity c where c.Node.Contract.Code = "1234")
但在生成的SQL查詢周圍有主鍵列沒有括號:
select ... from ENTITY n where n.IDNODE, n.DTFR in (select c.IDNODE, c.DTFR ...
我們試圖明確在HQL(where (n) in
)加括號,但NHibernate的忽略它們。
我們可以做些什麼來使NHibernate生成正確的SQL?
NHibernate的版本是4.1.1.4000
,RDBMS是Oracle 10.2
。
SQL方言設置爲NHibernate.Dialect.Oracle10gDialect
。