Опыт Hibernate

топ 100 блогов yakov_sirotkin03.01.2023

Я всегда не любил Hibernate исходя из общих соображений и при столкновении с ним обычно довольно быстро заменял его на JDBC/Spring JdbcTemplate. Однажды приложение после этого перестало загружать в память всю базу целиком и стало обрабатывать запросы мгновенно.

Однако, в прошлом году мне довелось столкнуться с масштабными внедрениями Hibernate и близко познакомиться с различными его аннотациями, их атрибутами и прочими тонкостями. В частности, пришлось разобраться, как работают мои теоретические аргументы против Hibernate.

Если в таблице есть поле с автоматически генерирующимся ключём, то при bulk insert Hibernate обязательно захочет загрузить значение этого ключа. Что, естественно, ставит крест на производительности.

Hibernate позволяет легко размазать какую-то сущность по нескольким таблицам, а когда нужно выбрать список из нескольких таких сущностей, то мы сразу получаем проблему N+1 запроса. Обычно это проявляется на этапе нагрузочного тестирования, который часто совмещают с опытной эксплуатацией. 

Нужно признать, что Hibernate позволяет быстро реализовать код для обработки одного объекта: сохранить, загрузить, отредактировать, удалить. Но количество проектов, в которых не надо обрабатывать группы объектов примерно равно нулю. 

Ещё Hibernate поддерживает развесистые структуры баз данных с большим количеством колонок. Но редактирование таких схем — это сама по себе проблема, банально добавление колонки в большой таблице может оказаться очень дорогой операцией. Во многих случаях можно добавить колонки с JSON в PostgreSQL и это сделает схему базы данных тривиальной, что поможет и избавиться от Hibernate.

Оставить комментарий

Архив записей в блогах:
Несколько фотографий  американских исполнительниц экзотических и народных танцев конца девятнадцатого - начала двадцатого века. Почему то вспомнилось вот это ( увы, не вставляется ) http://videobox.tv/video/485396/ ...
События в Мьянме приобретают отчетливый «сирийский» или «йеменский» оттенок. Во всяком случае первая фаза вполне коррелирует с событиями, происходящими в этих двух арабских странах, где первый этап был восстанием в городах, которые крайне жестоко давились режимом. Правда, в отличие от ...
https://t.me/blaue_kraehe/128 https://t.me/MilThemeZ/25658 Черная трансплантология. Тела украинских солдат - и в данном случае колумбийского наемника - без органов. Прямых неопровержимых доказательств пока предъявить нельзя, но я надеюсь, что свидетельства собираются не только ...
 Школа блогера это бесплатная возможность за короткий срок обучиться тому, чему рядовые пользователи блог-сервисов, учатся годами. В школе блогера, вы узнаете: 1. Что такое блог? Зачем вам блог? 2. Обзор сервисов LiveJournal.com Мой мир и Twitter.com ...
Название : " Солнце в зелёных глазах " Автор :elisir_d_amore Категория : Slash Рейтинг : NC-13 Пэйринг : Ягудин/Жубер Предупреждение : Автор бредит.От автора: Я всё вру. Брайан поворачивается к Лёше. - По- моему... Она... Пьяная?... - О, нет... Только не это...  Я где- то ...