有没有办法在JPQL查询中进行排序,如:
SELECT v
FROM Vehicle v
WHERE ...
ORDER BY v.lastUserUpdate DESC NULLS LAST, v.id DESC;
NULLS LAST
会破坏查询。有没有正确的方法来做到这一点?
答案 0 :(得分:0)
我不知道允许这样的JPQL函数,因为我认为它是特定于数据库的。 JPA 2.0有一个'SQL'关键字,你可以使用它来传递“nulls last”。就像是 “ORDER BY v.lastUserUpdate DESC SQL('NULLS LAST'),...”
请参阅 http://java-persistence-performance.blogspot.ca/2012/05/jpql-vs-sql-have-both-with-eclipselink.html了解有关JPA和eclipselink中可用内容的更多详细信息。 TopLink使用EclipsLink for JPA,因此您必须验证您正在使用的版本并使用本机TopLink API,如果它不支持它并且您无法升级。