Значение jsonb-колонки в Liquibase нужно задавать как JSON-объект, а не как строку с экранированными кавычками. Лишние внешние кавычки превращают значение в jsonb строку-скаляр вместо объекта — и ORM, ожидающий объект, падает при чтении.

Симптом

<!-- НЕПРАВИЛЬНО: в jsonb попадёт строковый скаляр "{\"k\":\"v\"}" -->
<column name="data" value='"{\"k\":\"v\"}"'/>
 
<!-- ПРАВИЛЬНО: в jsonb попадёт объект {"k":"v"} -->
<column name="data" value='{"k":"v"}'/>

Сущность с маппингом jsonb → Map<String, String>Hibernate@Type(JsonBinaryType.class)) при чтении «строкового» значения падает:

MismatchedInputException: Cannot construct instance of `java.util.LinkedHashMap`
from String value ('{"k": "v"}')

Сущность перестаёт читаться → ломается всё, что её грузит.

Почему

Строка '"{\"k\":\"v\"}"' после разбора SQL — это "{\"k\":\"v\"}". Postgres видит ведущую кавычку " и парсит значение как jsonb string scalar, а не объект:

Значение в Liquibasejsonb_typeof->>'k'
'"{\"k\":\"v\"}"'stringNULL
'{"k":"v"}'objectv

Коварство: приложение, записывающее тот же Map через ORM, сериализует объект — поэтому записи из кода валидны, а ломается только seed/миграция. Расхождение «код пишет объект, миграция — строку» — верный признак этого бага.

Как проверить

SELECT jsonb_typeof('"{\"k\":\"v\"}"'::jsonb);   -- string  (баг)
SELECT jsonb_typeof('{"k":"v"}'::jsonb);          -- object  (правильно)

Юнит-тестами обычно не покрыто (jsonb едет через миграцию, а не через unit) — проверять прогоном миграции на реальной СУБД.