Привет хабр! В этой статье не будет глубокого анализа json типа в PostgreSQL или очередных
бесполезных попыток сравнить данную возможность PostgreSQL с NoSQL базами данных типа MongoDB. Я просто расскажу про то, как использовать Hibernate и PostgreSQL json. Думаю кому-нибудь это может оказаться полезно.
Объект внутри сущности
Предположим у вас есть реляционная модель данных. Вполне может возникнуть ситуация, что для некоторых из сущностей необходимо хранить какой либо объект(документ, если хотите). Конечно можно расширить для этого объекта модель данных одной(а может и несколькими) сущностью, или просто хранить этот объект в виде массива байт. Но у PostgreSQL уже достаточно давно появился тип данных
json способный хранить json объект в соответствии с
RFC 4627. Стало интересно, как это можно использовать, и какие возможности это может дать. При первом обращении к
google я нашел несколько неструктурированных постов и Q&A которые что-то объясняли, но не давали полной картины. Немного потыкавшись и разобравшись что к чему, я пришел к выводу что использование этих полей очень удобно, и решил создать
маленькую библиотечку, которая упростит использование json типов. Ниже я расскажу как ей пользоваться, ну и еще немного сравнения с первыми приходящими на ум альтернативами.