0

请帮助将以下 sql 查询转换为 hql

 SELECT * FROM INVOICE WHERE INVOICE_DATE > NOW() - INTERVAL 7 DAY 

NOW()的系统抛出错误

4

1 回答 1

0

我建议您为 IQuery 使用参数

你应该做类似的事情

var q = nhSession.CreateQuery("FROM INVOICE WHERE INVOICE_DATE > :date");
q.SetParameter("date", DateTime.Now.AddDays(-7));
q.List...

编辑

如果您的应用程序服务器(C# 应用程序)与 SQL Server 不同并且它们具有不同的时区,那么您可以执行以下操作:

  1. 使用 UTC 并保留上面的代码
  2. 在 ISqlQuery 中使用直接 TSql(用于 getdate() 函数)
于 2013-05-20T10:17:38.117 回答