为什么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