我试图在hibernate hsql中实现以下sql查询。我必须传递一个动态值delivery,而不是值'7'。
SELECT quote_key , delivery_date
FROM Orders
WHERE delivery_date >= DATE_ADD(now(), INTERVAL '-7' DAY);
dao层:
String sql = " FROM Orders where deliveryDate >= DATE_ADD(now(), INTERVAL -(:delivery) " + " DAY)";
Query query = session.createQuery(sql);
query.setParameter("delivery", delivery);
List<Orders> mergedData = query.list();
我得到以下错误:
意外标记:天
我尝试过的任何语法。有没有办法用hsql本身而不是原生sql来实现它?
1条答案
按热度按时间uplii1fm1#
您可以使用create function语法来创建一个函数,该函数将接受该整数参数,创建您自己的方言并使用jpql
function('myfunction', :param)
,如本文所述。否则,您将不得不使用本机sql。