現在、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
これは、fetchTime の代わりに使用した数字 6 を参照していることを知っています。
これを機能させる唯一の方法は、これを NativeQuery として使用することでしたが、これは切り離されたオブジェクトのリストを返すため、NamedQuery を使用したかったのです。
お時間をいただきありがとうございます!