A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: models/model_blog.php

Line Number: 181

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: models/model_blog.php

Line Number: 183

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: models/model_blog.php

Line Number: 181

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: models/model_blog.php

Line Number: 183

Опыт Hibernate | Yablor.ru

Опыт Hibernate

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

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

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

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

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

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

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

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

Архив записей в блогах:
Крымское море и солнце стимулируют молодежь на такие дерзкие фото. Это просто праздник какой-то! 100% концентрация красоток и симпатичных молодых людей, которые сами отправляют свои фотографии в этот профиль. Нужно только чтобы геолокация фото была крымская. Это только некоторые ...
Подъемы на бицепс со штангой Подъем штанги на бицепс стоя Подъем штанги на бицепс обратным хватом    Подъём штанги на бицепс на скамье Скотта Заключение! Видео о подъёме штанги на бицепс Все поклонники тренажёрных залов не понаслышке знакомы с таким ...
Я однажды искал массажиста, и мне порекомендовали. По телефону ответила женщина с пудовым голосом, сказала, что принимает у себя на дому и мы договорились. Когда открылась дверь квартиры — я уменьшился. Женщина Марина была намного больше, выше и сильнее меня. Очень большой рукой и ...
Некоторые хейтеры считают, что я вампир - высасываю энергию из поверивших мне ЧД. Но я его противоположность - я накачиваю дамочек не только спермой, но и радостью секса, радостью жизни. Поэтому я очень позитивный вампир, оцените меня в этом образе! А еще Пушбе очень нравятся мужчи ...
Жизнь их ставит в такие позы... ...