1
在這方面的一些問題: -在休眠中映射Oracle 11g虛擬列
a。是否有一個特定的休眠模式type
用於oracle 11g虛擬列或本地用戶可以執行的操作?
b。如果要使用類型(例如,string
,long
)(並且在hql查詢中使用它們時工作正常),那麼如何使用Criteria API獲取映射到虛擬列上的屬性?
c。目前,標準查詢返回這樣的屬性爲空,儘管它們確實具有值。作爲替代,我通過調用用於派生虛擬列的函數並使用實際值返回結果集來使用formula
元素。但是,由於處理開銷再次轉移到休眠/應用程序代碼,因此在表中創建虛擬列是沒有用的。
有什麼建議嗎?
當調用sproc的處理是在oracle不是客戶端完成的。它基本上與提取虛擬列不一樣? – Firo 2012-05-03 08:23:03
是的,這是我想。但即使在oracle中,開銷也是爲了顯式調用pl/sql函數。虛擬列通過消除這種開銷而帶來好處。還有一件事,標準查詢使用了連接。也許在某個地方,虛擬列被取爲空。有沒有辦法在標準查詢中控制連接的行爲? – 2012-05-04 10:56:14
嘗試捕獲由nhibernate(內部記錄器/ log4net)生成的SQL並直接運行它,如果它返回正確的結果那麼問題是在NH映射端否則它是數據庫返回空值 – Firo 2012-05-04 11:43:38