CriteriaQueryигнорировать нулевое значение - PullRequest
0 голосов
/ 24 сентября 2018

, когда я пытаюсь упорядочить данные с помощью CriteriaQuery, он игнорирует все нулевые значения и специальные символы, такие как '-'.это мой код:

if ( "radical".equals((String) params.get("sort"))) {

                    if ("ASC".equals(params.get("order"))) {
                        query.orderBy(cb.asc(cb.upper(root.get(CONTRAT).get(RELATION_COMMERCIALE).get("identifiantRC"))));
                    }else if ("DESC".equals(params.get("order"))) {
                        query.orderBy(cb.desc(cb.upper(root.get(CONTRAT).get(RELATION_COMMERCIALE).get("identifiantRC"))));
                    }
                }

есть предложения?

1 Ответ

0 голосов
/ 24 сентября 2018

Это не относится только к JPA, Spring или их комбинации.

Это базовая функция вашей базы данных или SQL.Что-то должно определить, что на самом деле означает порядок.

AFAIK подробности о том, как настроить это, зависят от конкретной базы данных, и вы не указали базу данных, которую используете, поэтому вот некоторая информация о том, как это контролируется в Oracle.Они называют это лингвистическая сортировка .

Чтобы управлять им, вы должны либо найти локаль, которая соответствует вашим потребностям, либо построить новую .Ключ - «Игнорируемые символы», которые, как вы уже догадались, игнорируются при сортировке.Они включают в себя "-".

...