Это мой класс сущности, который сопоставлен с таблицей в postgres
(9.4) Я пытаюсь сохранить метаданные как jsonb
тип в базе данных
@Entity
@Table(name = “room_categories”)
@TypeDef(name = “jsonb”, typeClass = JsonBinaryType.class)
public class RoomCategory extends AbstractEntity implements Serializable {
private String name;
private String code;
@Type(type = "jsonb")
@Column(columnDefinition = "json")
private Metadata metadata;
}
Это класс метаданных:
public class Metadata implements Serializable {
private String field1;
private String field2;
}
Я использовал следующий файл миграции для добавления jsonb
столбца:
databaseChangeLog:
– changeSet:
id: addColumn_metadata-room_categories
author: arihant
changes:
– addColumn:
schemaName: public
tableName: room_categories
columns:
– column:
name: metadata
type: jsonb
Я получаю эту ошибку при создании записи в postgres
: ОШИБКА: столбец «метаданные»”Имеет тип jsonb
, но выражение имеет тип bytea
Подсказка: вам нужно будет переписать или привести выражение.
Это тело запроса, которое я пытаюсь сохранить в db:
{
“name”: “Test102”,
“code”: “Code102”,
“metadata”: {
“field1”: “field11”,
“field2”: “field12”
}
}
Помогите, пожалуйста, как преобразовать тип bytea
в jsonb
в приложении java spring boot