我想在 jpql 中按时间进行过滤,但我认为我做得不好。
SELECT e FROM Pedido e WHERE e.fechaEntrega = :fechaInicio AND e.horaEntrega < :horaEntrega
和que.setParameter("horaEntrega", horaEntrega, TemporalType.TIME);
但是当我看到返回时,这不会被 horaEntrega 过滤。我正在使用 eclipselink 2.5 任何想法???
我尝试使用SELECT e FROM Pedido e WHERE e.fechaEntrega = :fechaInicio AND CAST(e.horaEntrega AS TIMESTAMP) < :horaEntrega
并且不起作用,如果我尝试转换为时间说我预期 NUMBER 并且 DATE
当我使用cast(cast(etretst as timestamp) as time) < '08:00:00'
在sql im中编写 SELECT 时,这很奇怪。当我写这篇文章时说我预计 TIME 而不是 DATE
答案 0 :(得分:1)
我解决了 SELECT SELECT e FROM Pedido e WHERE e.fechaPedido = :fechaInicio AND CAST(CAST(e.horaPedido AS TIMESTAMP) AS TIME) < :horaZona
,参数为que.setParameter("horaZona", new Time(horaPedido.getTime()).toString());