Comments 5
https://github.com/vladmihalcea/hibernate-types
Неплохая альтернатива для использующих Hibernate ниже 6
Для Hibernate 5 есть hibernate types, и не надо ничего писать руками. Всё уже написано до нас :)
Отличная статья, один вопрос.
А зачем?
Столько манипуляций, столько сложностей.
Какую проблему или задачу хотели решить?
Как использовать функции для работы с json на уровне postgesql вообще неописано, да я если честно не очень понимаю что на уровне orm можно из этого использовать и для чего?
Если уж пошла такая пьянка то postgresql может и из текстового поля сделать json или jsonb и может применить к ним свою проприепритарную магию работы со встроенными не реляционными типами.
Если уж ковырять дальше то основное применение этих типов это построение NoSql хранилищ, в этой парадигме orm с мапингом на типы наверное не самое лучшее решение.
Мы на своём проекте активно используем json и jsonb, но то совсем другая песня, у нас много рантайм генерации типов и мы мапим их из сложных json объектов.
Не сказано про особенность хранения json и jsonb.
А вряде случаев это существенно, помимо того что jsonb хранит бинарный вариант, а не текстовый он меняет порядок следования полей в объекте для более эффектмвного хранения и обработки. Эту особенность надо учитывать при чтении объектов.
когда с постгресом познакомитесь поглубже, узнаете что можно аггрегировать строки, объекты, выборки в массивы в виде JSON, а потом легким движением руки производить DTO, то поймете, что хибернейтовские джоины одна из самых главных причин торможения БД. Вот когда начнете работать с таблицами не напрямую, а с представлениям, где данные аккумулированы в регистры сведений, то вспомните эту статью
Hibernate и так-то не нужен, а зачем его использовать для JSON вообще не понятно.
Как использовать тип JSONB в PostgreSQL с Hibernate