我目前无法使用 HQL 执行此查询。
String queryString = "SELECT o FROM Orders o WHERE o.orderMade >= DATE_SUB(NOW(), INTERVAL :fetchTime HOUR)";
这将从最后的 ":fetchTime" 小时中获取最后的订单。
问题是,如何使用 HQL 设置这个参数?
我试过了
.em.createQuery(queryString).setParameter("fetchTime", fetchTime).getResultList();
但它会导致休眠错误。
我也尝试使用“?” 而是一个命名参数,但没有成功。
即使将数字写入 queryString 并且不设置任何参数,我仍然会收到此错误:
unexpected token: 6
我知道这是指我使用的数字 6,而不是 fetchTime。
我得到这个工作的唯一方法是将它用作 NativeQuery,但是这个返回一个分离对象的列表,我真的很想使用 NamedQuery。
感谢您的时间!