Теперь мы используем spring-data-jpa (v1.10.2.RELEASE) и openjpa (v2.2.2) и должны выполнить запрос ORDER BY с NULLS LAST, как показано ниже.
Sort.Order order = new Sort.Order(Direction.DESC, "latestConnectTime", NullHandling.NULLS_LAST); Sort sort = new Sort(order); PageRequest pageRequest = new PageRequest(1, 20, sort);
Похоже, что EclipseLink и Hibernate уже поддерживают эту функцию, однако openjpa не поддерживает?
https://jira.spring.io/browse/DATAJPA-825 https://jira.spring.io/browse/DATAJPA-925 https://jira.spring.io/browse/DATAJPA-1302 https://github.com/javaee/jpa-spec/issues/76 https://github.com/javaee/jpa-spec/issues/130
И hibernate также делает обходной путь с помощью EmptyInterceptor или просто настраивает свойство hibernate hibernate.order_by.default_null_ordering как ссылка ниже.
hibernate.order_by.default_null_ordering
Порядок в Hibernate с нулямиlast
Есть ли какой-нибудь способ, позволяющий openjpa выполнить запрос ORDER BY NULLS LAST?