Транзакции и блокировки в Hibernate

Транзакция это набор операций, которые могут быть либо целиком и успешно выполнены, либо полностью не выполнены. Транзакции в базах данных соответствуют свойствам ACID: Атомарность — транзакция может быть либо целиком выполнена, либо целиком отменена. Согласованность — состояние данных должно быть логически Читать далее Транзакции и блокировки в Hibernate

Кэширование в Hibernate

В статье о поддержке пользовательских типов в Hibernate упоминается о поддержке кэширования. В этой статье я постараюсь рассказать о кэшровании подробнее. Идея кэширования (не только в Hibernate) основывается на мнении, что из всех данных, доступных для обработки, работа ведётся только Читать далее Кэширование в Hibernate

Пользовательские типы в Hibernate

Из коробки Hibernate поддерживает некий общий набор типов данных SQL и типов данных Java, а также отображений между ними. В основном в этот набор входят базовые вещи, такие как даты, строки, числа, блобы и так далее. С полным списком, а Читать далее Пользовательские типы в Hibernate

Первичные ключи в Hibernate

Каждая Hibernate сущность должна иметь идентификатор, который её однозначно идентифицирует. В мире SQL подобный идентификатор называется, с некоторыми допущениями,первичный ключ. В качестве такого идентификатора можно использовать примитивные типы и их обёртки, строки, BigDecimal/BigInteger, даты и т.д. Hibernate требует, чтобы каждый такой Читать далее Первичные ключи в Hibernate

Hibernate Criteria API

Начиная с версии 5.0 собственный Hibernate Criteria API признан устаревшим и не развивается. Вместо него рекомендуется использовать JPA Criteria API. Начиная с версии 5.2 Hibernate Criteria API объявлен deprecated и не рекомендуется к использованию Несмотря на вышесказанное страшное предупреждение, родной Читать далее Hibernate Criteria API

Hibernate SQL запросы

HQL запросы и прямая загрузка сущностей, это очень здорово, но хорошо бы иметь озможность и выполнять запросы напрямую, используя всю мощь SQL и вашей базы данных. Однако, такие запросы могут вернуть данные которые Hibernate не ожидает увидеть или которые даже не Читать далее Hibernate SQL запросы

Hibernate Query Language

Hibernate Query Language это аналог SQL в мире Hibernate, ориентированный на запросы не к таблицам, а к классам. Идеологически он очень похож на Java Persistence Query Language, так что любой JPQL запрос является одновременно и корректным HQL запросом. Обратное может Читать далее Hibernate Query Language

Управление сущностями в Hibernate

Написав о отображении классов в таблицы можно написать и о работе с этими классами и таблицами.  Для управления сущностями Hibernate использует подход, схожий с JPA, когда каждая сущность имеет какое-то собственное состояние, а вызовами методов Hibernate это состояние изменяется, при этом одновременно изменяя Читать далее Управление сущностями в Hibernate

Mapping сущностей в Hibernate

Как и в JPA, в голом Hibernate требуется описывать как сущности отображаются на таблицы базы данных. Hibernate поддерживает три варианта описания отображения: с использованием аннотаций, описание в xml файле, динамическое отображение. Annotation mapping Раньше Hibernate использовал собственный набор аннотаций для Читать далее Mapping сущностей в Hibernate

Hello, Hibernate (без JPA)

JDBC предоставляет вполне достаточный интерфейс для работы с базами данных в Java. Однако этот интерфейс весьма многословен и довольно неудобен и даже Spring JDBC не делает его сильно лучше. По сути дела проблема в том, что реляционные базы данных работают Читать далее Hello, Hibernate (без JPA)