Задать вопрос

JSONB в Hibernate?

Нужно подружить Hibernate с PostgreSQL, делаю следующи образом:

Определяют свой UserType
public class JSONType implements UserType {

    @Override
    public int[] sqlTypes() {
        return new int[]{Types.JAVA_OBJECT};
    }

    @Override
    public Class<JSONObject/*MyJson*/> returnedClass() {
        return JSONObject.class;
    }

....

}


Указываю тип и к нему класс

@org.hibernate.annotations.TypeDef(name = "JSONType", typeClass = JSONObject.class)

В Entity одно из полей

@Column
    @Type(type = "JSONType")
    private JSONObject data;


И наконец -то дописываю тип в диалект
public class MyPostgreSQL94Dialect extends PostgreSQL94Dialect {

    public MyPostgreSQL94Dialect() {
        this.registerColumnType(Types.JAVA_OBJECT, "jsonb");
    }
}


(его, естественно указываю в persistence.xml

Но получается следующее:
таблица генерируется с типом "байт"

b51563ce82284df487c0c4a7612b7d31.png

В чем может быть ошибка?
  • Вопрос задан
  • 1365 просмотров
Подписаться 3 Оценить 4 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
  • Слёрм
    Python для инженеров
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы