Бібліотека 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 при розробці Java додатків бажано встановити plugin "Hibernate Tools" в середовищі розробки. Бібліотеку можна завантажити з сайту JBoss Tools.
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. Перший приклад можна подивитися тут.