Библиотека Hibernate

Библиотека Hibernate, используемая для разработки Java приложений, предназначена для решения задач объектно-реляционного отображения ORM (object-relational mapping). Hibernate представляет собой свободное программное обеспечение с открытым исходным кодом, распространяемое на условиях GNU Lesser General Public License.

Для использования Hibernate необходимо создать легкий в использовании каркас (фреймворк), отображающий объектно-ориентированную модель данных в традиционные реляционные базы данных. Подключить библиотеку к приложению можно как в процессе проектирования java классов и sql таблиц «с нуля», так и при работе с уже существующей базой данных.

Hibernate обеспечивает связь между Java классами и таблицами базы данных, соответствие типов данных Java с типами данных SQL. Также библиотека предоставляет средства для автоматической генерации и обновления набора таблиц, построения запросов и обработки полученных данных. Таким образом, при использовании Hibernate можно значительно уменьшить время разработки, связанное с ручным написанием SQL-запросов JDBC-кода.

Одним из основных достоинств библиотеки Hibernate является автоматическая генерация SQL-запросов и обработка результирующего набора данных по преобразованию объектов, т.е. выполнение сериализации объектов. Таким образом максимально облегчается перенос (портирование) приложения на любые другие базы данных SQL. То есть, Hibernate обеспечивает прозрачную поддержку сохранности данных (persistence) для «POJO» (Plain Old Java Object). POJO класс содержит только поля, без дополнительной логики их обработки. Доступ ко всем полям такого класса осуществляется только через методы get/set. Пример простого класса POJO приведен на странице описания компонента JavaBean.

Для связи Java-классов с таблицами БД Hibernate использует Mapping (сопоставление, проецирование), которое осуществляется с помощью конфигурационных XML-файлов или Java-аннотаций, и обеспечивает возможности по организации отношения между классами «один-ко-многим» и «многие-ко-многим». В дополнение к управлению связями между объектами Hibernate может также управлять рефлексивными отношениями, где объект имеет связь «один-ко-многим» с другими экземплярами своего собственного типа данных.

Hibernate поддерживает использование обобщенных классов (generics), введеные в Java 5, и может быть настроен на «ленивые» (отложенные) загрузки коллекций, которые является вариантом, используемым по умолчанию.

Cвязанные объекты Hibernate позволяет настроить на каскадные операции. Например, родительский класс Album (музыкальный альбом) может быть настроен на каскадное сохранение и/или удаление своего потомка Track, что существенно сокращает время разработки и обеспечивает целостность данных. Функция проверки изменения данных (dirty checking) позволяет избежать ненужной записи действий в БД, выполняя SQL-обновление только при изменении полей персистентных (persist) объектов.

Язык запросов Hibernate (HQL)

Описание Hibernate было бы неполным, если не сказать об использовании SQL-подобного языка Hibernate Query Language (HQL), который позволяет выполнять SQL-подобные запросы, определенные вместе с объектами данных Hibernate.

Интеграция Hibernate

Hibernate можно использовать как в desktop'ных приложениях Java, так и в WEB разработках Java EE, выполняемых на сервере. Также он может быть использован как дополнительная возможность с другими языками программирования.

Установка плагина Hibernate Tools в IDE Eclipse

Для использования библиотеки Hibernate при разработке Java приложений желательно установить plugin "Hibernate Tools" в среде разработки. Библиотеку можно скачать с сайта JBoss Tools.

Для установки плагина "Hibernate Tools" в среде Eclipse необходимо в меню Help выбрать команду "Install New Software", нажать кнопку "Add" поля "Work with" и ввести адрес инсталляции плагина для Eclipse "http://download.jboss.org/jbosstools/updates/development/luna". В строке указана версия Eclipse "Luna", Вы должны указать свою версию Eclipse.

Eclipse загрузит в интерфейс окна доступные приложения для загрузки. Необходимо выбрать "Hibernate Tools" из "JBoss Data Services Development". Данный плагин можно найти и в других доступных плагинах JBoss. После этого нажмите кнопку Next.

На следующем шаге Eclipse представит все компоненты, которые будут установлены в среде разработки.

На очередном шаге необходимо согласиться с условиями лицензии и плагин "Hibernate Tools" будет установлен в Вашей среде разработки Eclipse.

Чтобы убедиться, что Hibernate Tools действительно загружен в Eclipse, можно проверить наличие в директории "plugins" среды разработки поддиректорий "org.hibernate..." и "org.jboss.tools.hibernate...". Кроме этого, в диалоговом окне Show View (Window/Show View/Others), представленном на следующем скриншоте, можно увидеть плагин Hibernate.

Теперь можно приступить к разработке приложений с использованием библиотеки Hibernate. Первый пример можно посмотреть здесь.

  Рейтинг@Mail.ru