Учебное пособие по Hibernate

Hibernate Учебник

Hibernate tutorials

Hibernate, созданныйGavin King, известен как лучший и доминирующий инструмент объектно-реляционной персистентности (ORM) для разработчиков Java (теперь поддерживается .NET). Он предоставляет множество элегантных и инновационных способов упростить задачу обработки реляционных баз данных в Java.

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

P.S Tutorials are updated to Hibernate v3.6.1.Final.

Hibernate Быстрый старт

Пример Hello World для ознакомления с фреймворком Hibernate.

Hibernate Ассоциация (таблица отношений)

Как определить отношение таблиц один-к-одному, один-ко-многим-ко-многим в Hibernate.

  • One-to-One example (XML Mapping)
    Пример перехода в спящий режим с использованием файла сопоставления hbm.

  • One-to-One example (Annotation)
    Спящий режим один к одному с кодом аннотации.

  • One-to-Many example (XML Mapping)
    Пример перехода в спящий режим «один ко многим» с файлом сопоставления hbm.

  • One-to-Many example (Annotation)
    Пример гибернации "один ко многим" с кодом аннотации.

  • Many-to-Many example (XML Mapping)
    Пример перехода от многих ко многим в режим гибернации (НЕТ дополнительных столбцов в таблице соединений) с помощью файла сопоставления hbm.

  • Many-to-Many example (Annotation)
    Пример перехода «многие ко многим» (НЕТ дополнительных столбцов в объединенной таблице) с кодом аннотации.

  • Many-to-Many example – join table + extra column (Annotation)
    Пример гибернации многих ко многим (С дополнительным столбцом в объединенной таблице) с кодом аннотации.

  • Off Topic : Understand inverse keywork, example and explanation
    «Обратное» - это самое запутанное ключевое слово в Hibernate, но вы должны четко понимать это, чтобы точно настроить производительность ваших отношений.

Hibernate / JBoss Tools + Eclipse IDE

Научиться пользоваться инструментами Hibernate просто необходимо!

Вход в спящий режим

Как сделать вход в Hibernate

Hibernate Connection Pool

Как настроить пул соединений с базой данных в Hibernate

Спящий Каскад

Каскад гибернации используется для автоматического управления состоянием другой стороны.

  • Cascade example (save, update, delete and delete-orphan)
    Примеры каскадирования при сохранении, обновлении, удалении и удалении orphan. И разница между удалением и удалением сироты.

  • Different between cascade and inverse
    Многие разработчики Hibernate не понимают различий между каскадом и инверсией, вот объяснение.

  • Cascade – JPA & Hibernate annotation common mistake
    Очень простая распространенная ошибка аннотации, которую допускают новички или опытные разработчики Hibernate - каскадная аннотация JPA в Hibernate?

Hibernate Query Language (HQL)

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

  • Hibernate Query examples (HQL)
    Примеры HQL CRUD, выбор, обновление, удаление и пакетная вставка (без поддержки отдельной вставки).

  • Hibernate parameter binding examples
    Свяжите параметр в HQL с помощью методов «Именованные параметры» и «Позиционные параметры».

  • How to embed Oracle hints in Hibernate query
    Уловка для встраивания подсказок Oracle в Hibernate Query для увеличения производительности запросов Oracle.

Критерии гибернации

Hibernate Criteria API является альтернативой Hibernate Query Language (HQL). Это всегда хорошее решение во многих дополнительных критериях поиска.

  • Hibernate Criteria examples
    Примеры критериев - базовый запрос, запрос упорядочивания, запрос ограничений и разбиение на страницы результата.

Hibernate Native SQL

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

Hibernate Named Query

Named Query позволяет разработчикам помещать HQL в файл отображения XML или аннотацию для удобства сопровождения, вы просто не хотите, чтобы весь ваш синтаксис HQL разбросан по всему коду Java. :)

Hibernate Транзакция

Все вещи, связанные с транзакцией Hibernate

Hibernate Advance Technique

Некоторая техника Hibernate Advance, редко используемая, но практические навыки (фильтр данных и перехватчик).

  • Hibernate data filter example – XML and annotation
    Фильтр данных Hibernate используется для фильтрации данных, полученных из базы данных. Вот руководство по работе с фильтром данных в XML или аннотациях.

  • Hibernate interceptor example – audit log
    Перехватчик Hibernate используется для перехвата событий Hibernate, таких как операции CRUD, подробный пример реализации журнала аудита с перехватчиком Hibernate.

Hibernate Performance

Некоторые твики заставят ваш Hibernate работать быстрее :)

  • dynamic-insert attribute example
    Использование динамической вставки, чтобы избежать включения неизмененных свойств в оператор SQL INSERT.

  • dynamic-update attribute example
    Использование динамической вставки, чтобы избежать включения неизмененных свойств в оператор SQL UPDATE.

  • Hibernate mutable example (class and collection)
    Использование ключевого слова mutable, чтобы избежать генерации ненужных операторов SQL.

  • Hibernate – fetching strategies examples
    Стратегии выборки Hibernate используются для оптимизации сгенерированного оператора select, сгенерированного Hibernate, навык, который должен изучить любой разработчик Hibernate.

  • Different between session.get() and session.load()
    Понимание, когда следует использовать get или load для получения объекта, чтобы избежать ненужного попадания в базу данных.

Интеграция Hibernate с другими платформами

Примеры интеграции Hibernate с другими фреймворками.

Hibernate FAQ

Некоторые частые ответы на вопросы:

Распространенные ошибки Hibernate

Вот список распространенных сообщений об ошибках в разработке Hibernate.

Не по теме