PostgreSQL jsonb, `?` И JDBC

Я использую PostgreSQL 9.4 и удивительный тип поля JSONB. Я пытаюсь выполнить запрос к полю в документе. Следующие работы в psql CLI

SELECT id FROM program WHERE document -> 'dept' ? 'CS'

Когда я пытаюсь выполнить тот же запрос через приложение Scala, я получаю сообщение об ошибке ниже. Я использую Play Framework и Anorm, поэтому запрос выглядит так

SQL(s"SELECT id FROM program WHERE document -> 'dept' ? {dept}")
.on('dept -> "CS")
....

SQLException:: значение не указано для параметра 5. (SimpleParameterList.java:223)

(в моих реальных запросах есть больше параметров)

Я могу обойти это, приведя мой параметр к типуjsonb и используя@> оператор для проверки содержания.

SQL(s"SELECT id FROM program WHERE document -> 'dept' @> {dept}::jsonb")
.on('dept -> "CS")
....

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

Есть ли что-нибудь еще, что я могу сделать?

Ответы на вопрос(3)

Ваш ответ на вопрос