Hibernate работает как провайдер JPA, реализуя спецификации Java Persistence API. 25 Он создаёт связь между таблицами в базе данных и Java-классами и наоборот. 1
Некоторые аспекты работы Hibernate как провайдера JPA:
- Отображение классов-сущностей. 3 Без дополнительных указаний Hibernate отображает сущность на таблицу с таким же названием. 3 Но этим можно управлять, указав аннотацию @Table. 3
- Управление жизненным циклом сущностей. 2 Внутри контекста персистентности происходит управление экземплярами сущностей и их жизненным циклом. 2 EntityManager автоматически сохраняет в БД все изменения, сделанные в его персистентном контексте, в момент коммита транзакции, либо при явном вызове метода flush(). 2
- Работа с кэшем запросов. 3 Hibernate использует механизмы кэширования для оптимизации производительности. 4
- Поддержка разных баз данных. 4 Hibernate позволяет работать с различными базами данных без изменения кода. 4
- Использование языка запросов. 4 Для выполнения операций с базой данных Hibernate использует Hibernate Query Language (HQL). 4