Делайте NULLS ПЕРВЫМ при сортировке по возрастанию из PostgreSQL. Весенние данные JPA ⇐ JAVA
Делайте NULLS ПЕРВЫМ при сортировке по возрастанию из PostgreSQL. Весенние данные JPA
У меня проблема с сортировкой данных из PostgreSQL.
Я сортирую данные из БД, используя PagingAndSortingRepository. Код показан ниже:
Listorders = new ArrayList(); orders.add(Sort.Order.asc(s.getField())); Сортировка sort = Sort.by(заказы); Pageable pageSort = PageRequest.of(pageNumber,pageSize, sort); List результаты = репозиторий.findAll(pageSort); В результате я отсортировал данные, но данные со значениями NULL идут последними, хотя я предпочитаю, чтобы они были первыми.
Я бы хотел, чтобы NULL-значения шли первыми при сортировке по возрастанию и последними при сортировке по убыванию.
Но PostgreSQL по умолчанию помещает NULLS в конец при сортировке по возрастанию и в начало при сортировке по убыванию.
Я пытался использовать
new Sort.Order(Sort.Direction.ASC, s.getField(), Sort.NullHandling.NULLS_FIRST) но похоже, что свойство NULLS_FIRST игнорируется в сгенерированном запросе:
выберите сгенерированный псевдоним0 из таблицы как сгенерированныйAlias0 порядок по созданномуAlias0.targetField по возрастанию Как видите, о NULL ORDERING не упоминается.
Знаете ли вы другой способ решить мою проблему?
Обратите внимание, что я спрашиваю не о скрипте pg, а о том, как я могу решить проблему с помощью Java-кода.
У меня проблема с сортировкой данных из PostgreSQL.
Я сортирую данные из БД, используя PagingAndSortingRepository. Код показан ниже:
Listorders = new ArrayList(); orders.add(Sort.Order.asc(s.getField())); Сортировка sort = Sort.by(заказы); Pageable pageSort = PageRequest.of(pageNumber,pageSize, sort); List результаты = репозиторий.findAll(pageSort); В результате я отсортировал данные, но данные со значениями NULL идут последними, хотя я предпочитаю, чтобы они были первыми.
Я бы хотел, чтобы NULL-значения шли первыми при сортировке по возрастанию и последними при сортировке по убыванию.
Но PostgreSQL по умолчанию помещает NULLS в конец при сортировке по возрастанию и в начало при сортировке по убыванию.
Я пытался использовать
new Sort.Order(Sort.Direction.ASC, s.getField(), Sort.NullHandling.NULLS_FIRST) но похоже, что свойство NULLS_FIRST игнорируется в сгенерированном запросе:
выберите сгенерированный псевдоним0 из таблицы как сгенерированныйAlias0 порядок по созданномуAlias0.targetField по возрастанию Как видите, о NULL ORDERING не упоминается.
Знаете ли вы другой способ решить мою проблему?
Обратите внимание, что я спрашиваю не о скрипте pg, а о том, как я могу решить проблему с помощью Java-кода.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Неожиданное поведение некоторых полярных функций, когда НАН и NULLS вместе
Anonymous » » в форуме Python - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-