【发布时间】:2010-04-17 12:14:11
【问题描述】:
这真的很困惑几个小时,我搜索了整个互联网,但没有找到有效的解决方案。有人可以指出问题出在哪里...谢谢! 我创建了自己的方言类
public class MySQLDialectExtended : MySQLDialect
{
public MySQLDialectExtended()
{
RegisterFunction("date_add_interval", new SQLFunctionTemplate(NHibernateUtil.Date, "date_add(?1, INTERVAL ?2 ?3)"));
}
}
然后我尝试如下使用它:
query.Append(
" ( date_add_interval(D.ApprovalDate, 1, YEAR) < current_timestamp() < date_add_interval(D.RenewalDate, -1, YEAR) )");
它失败并出现以下异常:
NHibernate.Hql.Ast.ANTLR.QuerySyntaxException : Exception of type 'Antlr.Runtime.NoViableAltException' was thrown. near line 1, column 677
列号位于第一个“YEAR”字的末尾。
编辑: 这是我的配置
<property name="dialect">MyCompanyName.MySQLDialectExtended, MyCompanyName</property>
<property name="hbm2ddl.keywords">none</property>
【问题讨论】:
标签: mysql nhibernate hql dateadd