JPA использует позиционные параметры в собственном запросе с вопросительными знаками в поле
Мне нужно выполнить собственный запрос SQL (моя БД - Postgresql), прочитанный из файла:
INSERT INTO mytable(name, jsonvalue, idapp) SELECT 'rowname', $a$this is a json string and it contains ..."template":"#= myfield != null ? myfield.text : ''#"...$a$, ?1 WHERE NOT EXISTS (SELECT 1 FROM mytable where name = 'rowname' and idapp= (SELECT id FROM application where codapp = 'MYAPP'));
Система работает нормально, пока у меня нет знака вопроса внутри значения:
Call: INSERT INTO cfgutenti(nomecfg, configuration, ins_time, ins_user, status, upd_time, upd_user, idapp, idutente) SELECT 'name', $a$my value with ? ? ? three question marks $a$, ...;
bind => [1, null, null, 1]
Internal Exception: org.postgresql.util.PSQLException: Indice di colonna, 2, è maggiore del numero di colonne 1.
В этом конкретном запросе у меня есть 4 знака вопроса, 3 в поле конфигурации и 1 - позиционный параметр.
Есть способ выполнить запрос с позиционным параметром и знаком вопроса?
РЕДАКТИРОВАТЬ: есть проблема, даже если я не использую параметр, но у меня есть вопросительный знак.