Query.setparameter使用TemporalTipe.Time

时间:2013-07-12 12:31:14

标签: java jpa-2.0 eclipselink jpql

我想做SELECT e FROM Pedidos e WHERE e.diaPedido = :diaPedido AND e.horaPedido = :horaPedido  当我写参数时使用query.setParameter("diaPedido", fechaEscogida, TemporalTipe.DATE)query.setParameter("horaPedido", horaEscogida, TemporalTipe.TIME),但我不知道为什么第二个过滤器Temporal.TIME不起作用,因为仍然比较 TIMESTAMP
我使用 eclipseLink 2.3.0 javax.persistence 2.0.1
diaPedido horaPedido 都是oracle数据库中的Date。

1 个答案:

答案 0 :(得分:3)

如果只想比较TIMESTAMP列的时间部分,则需要使用数据库函数。

在EclipseLink(> = 2.4)中,您可以使用EXTRACT或CAST或FUNCTION / FUNC运算符来调用数据库函数。

请参阅, http://java-persistence-performance.blogspot.com/2012/05/jpql-vs-sql-have-both-with-eclipselink.html