Обновить частичный json в базе данных postgresql с помощью запроса jpa

#java #postgresql #jpa #spring-data-jpa #java-11

#java #postgresql #jpa #spring-data-jpa #java-11

Вопрос:

У меня есть таблица базы данных- «меню», которая наряду с другими полями, на одном из которых находится «objectlist» типа jsonb следующим образом {"item1":"abc","item2":"something"} Я хочу обновить частичный json с помощью запроса jpa следующим образом:

 @Query(nativeQuery = true, value = "update n"   " config.menu"   " set step_therapy.objectlist n"   " = jsonb_set(objectlist, '{item1}', '=:new_value', true) "  " where n"   " menu.objectlist@> CAST(:old_val AS jsonb)n"   ";")
    List<Menu> updateObj (@Param("new_value") String newVal, @Param("old_val") String oldVal);
  

Но это не работает. Пожалуйста, помогите, если возможно, что я делаю не так?
Ожидаемый результат:
{"item1":"kgi","item2":"something"}

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

1. Что это значит, не работает? что происходит? есть исключения?

2. ОШИБКА @AlexandarPetrov: неверный синтаксис ввода для типа json Подробнее: недопустимый токен «=».

3. @AARTIGOEL Вы смогли это решить? Не могли бы вы, пожалуйста, помочь с фрагментом кода?