Проблема # 5394 , которую вы указали, не связана строго с вашим запросом. # 5394 относится к обычным, нормализованным UpdatableRecord
экземплярам, где некоторые значения не должны автоматически рассматриваться для вставки или обновления.
В вашем случае вы работаете со вложенными структурами данных в виде JSON , Для jOOQ столбец JSON является непрозрачным и не имеет представления о вложенной структуре. Если вы хотите представить эту функциональность, вам придется сделать это полностью самостоятельно. Однако вы не можете сделать это в настоящее время (jOOQ 3.13) с вызовами UpdatableRecord
и record.store()
. Вам придется написать свой собственный API, который переводит такие изменения записи в операторы вставки или обновления.
Я могу придумать два способа сделать это:
- Использование клиентской стороны JSON механизмы сравнения (вы также можете найти что-то на основе Java / POJO, но я думаю, что это будет проще на уровне JSON)
- Использование триггеров на стороне сервера, которые заменяют ваши обновление полной структуры данных JSON путем дельта-обновления.