爲什麼Nibernate HQL不能處理下面的查詢:NHibernate和MySQL的關鍵詞
from Deal D where (D.ApprovalDate + INTERVAL 1 Year) < current_timestamp() < (D.RenewalDate + INTERVAL -1 Year)
知道該時間間隔和年在MySQL中的關鍵字,所以這是一種內HQL混合SQL(除非HQL可以處理日期功能像這樣,我不知道)。方言是MySQLDialect
它完全有效的執行這個查詢
SELECT '2005-01-01' + INTERVAL 1 Year;
您是否想使用hql或sql?原諒我,如果我不明白這件事的一些事情,但是你有意在hql中使用sql嗎?我不確定你是否可以做到這一點 – 2010-04-17 20:58:29
你使用的是正確的方言?例如MySQL5Dialect – 2010-04-17 20:59:17
我相信你可以,HQL應該將任何非轉換的字符串傳遞給數據庫引擎來計算它......至少這就是文檔所說的 – 2010-04-17 21:05:54