Как передать список в preparedQuery

#quarkus #reactive

Вопрос:

Как передать список идентификаторов для запроса.

 List<Long> ids;
...
client.preparedQuery("SELECT id, name FROM features WHERE id IN $1").execute(Tuple.of(ids))
 

Когда я передал этот запрос, произошла ошибка со словами invalid syntax near IN

Ответ №1:

Вы должны использовать ANY оператора:

 client.preparedQuery("SELECT id, name FROM fruits WHERE id = ANY($1)")
                .execute(Tuple.of(ids.toArray(new Long[ids.size()])));
 

С IN помощью оператора нужно указать каждый параметр, с ANY помощью которого вы можете передать массив.

Комментарии:

1. Я думаю, что синтаксис не поддерживается

2. Не могли бы вы сообщить мне версию библиотеки, которую вы используете?

3. Кваркус 1.13.3 ссылка

4. Вероятно, это невозможно. Я задал этот вопрос разработчикам, я обновлю ответ, когда они ответят

5. Я нашел правильное решение. Это сработает.