Я пытаюсь заставить этот запрос работать в JPA:
UPDATE billing_log_criteria
SET value = jsonb_set(value, '{cubPersonId}', '"12778269"')
where value ->> 'cubPersonId' = '12778268';
Он отлично работает с postgresql, но когда я интегрирую его с JPA, я получаю следующую ошибку:
Причинаby: org.postgresql.util.PSQLException: ОШИБКА: функция jsonb_set (jsonb, неизвестно, символ меняется) Подсказка: ни одна функция не соответствует заданному имени и типу аргумента.Возможно, вам понадобится добавить явные приведения типов.
Ниже приведен запрос, который я пытался
@Modifying(clearAutomatically=false)
@Transactional
@Query(value = "UPDATE billing_log_criteria "
+ "SET value = jsonb_set(value, '{cubPersonId}', jsonb_set(value, '{cubPersonId}', :newId)) "
+ "where value ->> 'cubPersonId' = :oldId", nativeQuery = true)
void updateCubPersonId(@Param("newId") String newId,@Param("oldId") String oldId);
, вызывая вот так
String oldId = "12778269";
updateCubPersonId( "'\" 12778268l \"'",oldId);