3

有没有办法在 JPQL 查询中进行排序,例如:

SELECT v 
FROM Vehicle v 
WHERE ...
ORDER BY v.lastUserUpdate DESC NULLS LAST, v.id DESC;

NULLS LAST中断查询。有没有正确的方法来做到这一点?

4

1 回答 1

0

我不知道允许这样做的 JPQL 函数,因为我相信它是特定于数据库的。JPA 2.0 有一个“SQL”关键字,您可以使用它来让“nulls last”通过。类似“ORDER BY v.lastUserUpdate DESC SQL('NULLS LAST'), ...”

有关JPA 和 eclipselink 中可用内容的更多详细信息,请参阅 http://java-persistence-performance.blogspot.ca/2012/05/jpql-vs-sql-have-both-with-eclipselink.html 。TopLink 将 EclipsLink 用于 JPA,因此您必须验证您使用的版本,如果它不支持并且您无法升级,则必须使用本机 TopLink API。

于 2013-06-03T12:08:30.427 回答