Soft Delete в Spring Boot JPA: лучшие практики и практическая реализация

Оглавление Введение Почти в каждом приложении наступает момент, когда возникает необходимость удалять данные. Однако прямое физическое удаление записей (DELETE FROM…) далеко не всегда лучший подход. Часто требуется сохранить возможность восстановления данных, проводить аудит изменений или выполнять нормативные требования законодательства, согласно которым удаление записей может быть нежелательным или вовсе запрещенным. В таких случаях на помощь приходит … —Читать далее—

Loading

Что такое N+1 SELECT проблема и как с ней бороться?

Оглавление Введение Работа с данными в Java-приложениях на основе Spring Data JPA и Hibernate является чрезвычайно удобной благодаря автоматической генерации SQL-запросов и простоте работы с объектами. Однако, вместе с удобством часто приходят и проблемы производительности, самой известной из которых является проблема N+1 SELECT. Проблема N+1 SELECT возникает незаметно для разработчика и способна существенно снизить производительность … —Читать далее—

Loading

Основы кэширования в Hibernate

Hibernate — одна из самых популярных Java-библиотек для работы с реляционными базами данных. Hibernate предоставляет прозрачное и эффективное управление данными, упрощая процесс разработки приложений. Одним из ключевых аспектов производительности Hibernate является кэширование. В этой статье мы рассмотрим уровни кэширования в Hibernate, принципы их работы и предоставим рекомендации по использованию. В частности, мы рассмотрим: Первого уровня … —Читать далее—

Loading

Полезность: туториал по Hibernate.

Вчера завершил оформление цикла статей по Hibernate. Изучение статей и примеров, которые прилагаются к ним, помогут понять основы ORM и самого Hibernate Framework. Примечание: данный туториал не может заменить изучение документации по Hibernate. Цели: Обновить собственные знания по Hibernate. Сделать подборку материалов, которые могут помочь всем желающим ознакомиться с основами Hibernate. Если у Вас возникнут … —Читать далее—

Loading