2013-07-23 20 views
1

我想過濾時間jpql但我認爲我做得不好。
SELECT e FROM Pedido e WHERE e.fechaEntrega = :fechaInicio AND e.horaEntrega < :horaEntregaque.setParameter("horaEntrega", horaEntrega, TemporalType.TIME);但是當我看到返回這個不是過濾器horaEntrega。我正在使用eclipselink 2.5任何想法???
我tryed使用SELECT e FROM Pedido e WHERE e.fechaEntrega = :fechaInicio AND CAST(e.horaEntrega AS TIMESTAMP) < :horaEntrega和doesn't工作,如果我嘗試轉換爲時間說我預期NUMBER,並得到DATE It's奇怪,當我寫使用cast(cast(etretst as timestamp) as time) < '08:00:00'在SQL SELECT IM和這工作正常。當我寫這篇文章說我的預期TIME不是DATEjpql中的TemporalTipe.Time參數

+0

I'm想使用** TO_CHAR(horaEntrega, 'HH24:MI' )**但我不喜歡這個解決方案 –

+0

沒有足夠的信息。如何定義實體。表中的行是什麼,你作爲參數傳遞給查詢的是什麼,它返回什麼? –

+0

horaEntrega是數據庫和參數中的** Date **。 –

回答

1

我解決選擇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());