169 похожих чатов

Всем привет, подскажите, пожалуйста. У меня есть Query запрос, в

который передается UUID.
UUID может не передаваться и тогда он будет null. Из-за этого происходит ошибка:

ERROR: operator does not exist: uuid = bytea
No operator matches the given name and argument types. You might need to add explicit type casts.

Проверки вроде NOTNULL не помогают
CAST(:id as uuid) тоже не помог

@Query(value = """
\\ different logic
WHERE
(:filter = false OR sta.agg_id in (:id))
\\ different logic
)""",
nativeQuery = true)
List<Student> findAllBy(Boolean filter, UUID id, Integer percent);

Кто-нибудь сталкивался с такой проблемой?

10 ответов

12 просмотров

А в чем проблема? Не передавай туда null и всё. Возвращай пустой лист до вызова репозитория, даже базу напрягать не надо

Victoria- Автор вопроса
Дэни
А в чем проблема? Не передавай туда null и всё. Во...

проблема в том что это фильтр и если Id передается, то нужно вернуть определенные значения, а если Id не передается, то нужно вернуть все значения

:filter = false OR (:id) is null OR sta.agg_id in (:id) А так? Когда filter не false, id может быть null?

Victoria- Автор вопроса
Алексей
:filter = false OR (:id) is null OR sta.agg_id in ...

Не помогает. Там ошибка из-за сериализации. Ему не нравится, что id другого типа данных и из-за этого ошибка

Victoria
Не помогает. Там ошибка из-за сериализации. Ему не...

Кстати да, лучше Стрингой его туда передавать. Просто избавишь себя от лишних проблем

Victoria- Автор вопроса
Дэни
Кстати да, лучше Стрингой его туда передавать. Про...

Закостылить, чтобы если null передавать id вроде 00000000-0000-0000-0000-000000000000. И проверять, если 00000000-0000-0000-0000-000000000000, то ничего не делай? А будет ли это работать если мы проходим по столбцу с типом UUID и ищем этот Id с типом стринга?

Victoria
Закостылить, чтобы если null передавать id вроде 0...

1) у тебя в базе нет таких Id, а значит никаких значений не вернётся 2) стринге пофиг, что сравнивать, в базе твой uuid скорее всего тоже в виде текста просто лежит

Victoria
Закостылить, чтобы если null передавать id вроде 0...

Тебе надо наоборот сравнивать с существующим значением, чтобы этот нулл ни на что не влиял

Victoria
Закостылить, чтобы если null передавать id вроде 0...

Поэтому тебе надо будет вписать что-то вроде ... AND <поле ИД в базе> = CASE WHEN length(:Id) > 0 THEN :Id ELSE <поле ИД в базе> ... Я не смотрел в твой кусочек кода, я просто описываю концепцию

Victoria- Автор вопроса
Дэни
Поэтому тебе надо будет вписать что-то вроде ... A...

К сожалению не помогло. Там другие ошибки появились. В итоге выяснилось, что нужен лист ИДишников. Но я появилась другая проблема: Колонки id не найдено в этом ResultSet’’е. Хотя в базе данных запрос отрабатывает, кто-нибудь сталкивался?

Похожие вопросы

Обсуждают сегодня

зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Но если Евгений и Алекс используют в боевых условиях, то почему нет? А ты как-то про бизнес больше задвигаешь, это имеет к разработке отношение, но все же этим больше другие л...
Keiman
5
Карта сайта