Вы находитесь на странице: 1из 8

HIBERNATE

Hibernate
• Cлой (фреймворк) между БД и приложением

• Не нужно создавать «прямые» SQL запросы через JDBC

• Может применяться в любом типе приложения (desktop/web,


Spring и пр.)

• Основная цель – работа с таблицами БД как с объектами

• Легче создавать правильный абстрактный уровень для


приложения (применять принципы ООП)

• http://hibernate.org/

• Документация:
• http://hibernate.org/orm/documentation
ГДЕ ЗДЕСЬ JDBC
• На низком уровне Hibernate выполняет SQL запросы через JDBC

• JDBC – обязательно нужно знать


Расширенная схема
Плюсы Минусы
• Более высокоуровневый (ООП-ориентированный) • В крупных проектах возможна потеря
код, без ручной работы с JDBC API производительности (тяжеловесность), при
• Переносимость (перенос на другую БД в неправильных настройках
основном требует небольших изменений) • Дополнительно нужно изучать API для Hibernate и
• Много примеров и документации JPA
• Работа со всеми популярными СУБД • Сложность для новичков - множество настроек,
• Работа с NoSQL решениями аннотаций, специфики
• Интеграция с фреймворками, IDE • Меньше контроля (доступа к БД на низком
• Удобство (для тех, кто разобрался с основами) уровне)
• Можно не углубляться в SQL • Привязка к своему API (все меньше и меньше)
• Множество настроек (транзакции, кеширование,
генерация таблиц и пр.)
• Обновления, улучшения
Hibernate API
• В ранних версиях Hibernate имел сильную привязку к своему API, из-за чего переход на другую
JPA реализацию проходил не так быстро

• В данный момент с каждой версией происходит уклон в сторону JPA API

HIBERNATE

JPA API + HIBERNATE API


Что нужно знать
• Обязательно:
• JDBC
• SQL
• ООП

• Желательно:
• XML
• Аннотации в Java
• Работа в какой-либо IDE
Домашнее задание
• Добавить в закладки:
• http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#architecture

• Пройти раздел 1. Architecture

• * Используйте документацию для последней версии Hibernate (на данный момент)