HIBERNATE - Relational Persistence for Idiomatic Java

Справочная Документация по Hibernate

2.1.3

Содержание

Предисловие
1. Быстрый старт с использованием Tomcat
1.1. Начнем с Hibernate
1.2. Первый долгоживущий класс (persistent class)
1.3. Замэпим кота
1.4. Поиграем с котами
1.5. Заключение
2. Архитектура
2.1. Обзор
2.2. Интеграция с JMX
2.3. Поддержка JCA
3. Конфигурация SessionFactory
3.1. Программная конфигурация
3.2. Получение SessionFactory
3.3. JDBC соединение, предоставляемое пользователем
3.4. JDBC соединение, предоставляемое Hibernate
3.5. Необязательные конфигурационные параметры
3.5.1. Диалекты SQL
3.5.2. Выборка данных с использованием внешних соединений (outer join)
3.5.3. Бинарные Потоки Данных
3.5.4. Реализация интерфейса кэш-провайдера. CacheProvider
3.5.5. Transaction strategy configuration
3.5.6. Фабрика Сессий привязанная к JNDI (JNDI-bound SessionFactory)
3.5.7. Подстановки в Языке Запросов
3.6. Логирование (ведение лога, logging)
3.7. Реализация NamingStrategy (стратегия именования)
3.8. Конфигурационный XML-файл
4. Долгоживущие Классы (Persistent Classes)
4.1. Простой POJO-пример
4.1.1. Объявление методов доступа и изменения для долгоживущих полей
4.1.2. Создание конструктора по умолчанию
4.1.3. Определение свойства-идентификатора (необязательно)
4.1.4. Отдавать предпочтение не-final классам (необязательно)
4.2. Реализация наследования
4.3. Реализация методов equals() и hashCode()
4.4. Callback-методы жизненного цикла
4.5. Проверочные callback-вызовы
4.6. Использование XDOclet описания
5. Основы объектно-реляционного маппинга
5.1. Объявление маппинга
5.1.1. Тип документа (Doctype)
5.1.2. hibernate-mapping
5.1.3. class
5.1.4. id
5.1.4.1. generator
5.1.4.2. Алгоритм Hi/Lo
5.1.4.3. Алгоритм UUID
5.1.4.4. Последовательности и identity колонки
5.1.4.5. Задаваемые идентификаторы
5.1.5. composite-id
5.1.6. discriminator
5.1.7. version (необязательно)
5.1.8. timestamp (необязательно)
5.1.9. property
5.1.10. many-to-one
5.1.11. one-to-one
5.1.12. component, dynamic-component
5.1.13. subclass
5.1.14. joined-subclass
5.1.15. map, set, list, bag
5.1.16. import
5.2. Типы Hibernate
5.2.1. Сущности и значения
5.2.2. Базовые типы-значения
5.2.3. Персистентные перечисляемые типы (enum)
5.2.4. Пользовательские типы-значения
5.2.5. Отображение Any типа
5.3. SQL-идентификаторы в кавычках
5.4. Отдельные файлы отображения
6. Маппинг коллекций
6.1. Персистентные коллекции
6.2. Mapping a Collection
6.3. Collections of Values and Many-To-Many Associations
6.4. One-To-Many Associations
6.5. Lazy Initialization
6.6. Sorted Collections
6.7. Using an <idbag>
6.8. Bidirectional Associations
6.9. Ternary Associations
6.10. Heterogeneous Associations
6.11. Collection examples
7. Маппинг компонентов
7.1. Зависимые объекты
7.2. Коллекции зависимых объектов
7.3. Компоненты в роли индексов Map
7.4. Компоненты как составные идентификаторы
7.5. Динамические компоненты
8. Маппинг наследников
8.1. Три стратегии
8.2. Ограничения
9. Манипулирование персистентными данными
9.1. Создание персистентного объекта
9.2. Чтение объекта
9.3. Запросы
9.3.1. Scalar queries
9.3.2. The Query interface
9.3.3. Scrollable iteration
9.3.4. Filtering collections
9.3.5. Criteria queries
9.3.6. Queries in native SQL
9.4. Updating objects
9.4.1. Updating in the same Session
9.4.2. Updating detached objects
9.4.3. Reattaching detached objects
9.5. Deleting persistent objects
9.6. Flush
9.7. Ending a Session
9.7.1. Flushing the Session
9.7.2. Committing the database transaction
9.7.3. Closing the Session
9.7.4. Exception handling
9.8. Lifecyles and object graphs
9.9. Interceptors
9.10. Metadata API
10. Транзакционность и Конкурентность (Transactions And Concurrency)
10.1. Конфигурация, cессии (Sessions) и фабрики (Factories)
10.2. Потоки и соединения (Threads and connections)
10.3. Рассмотрение идентичности объектов
10.4. Оптимистическая стратегия контроля параллельного доступа
10.4.1. Длинная сессия с автоматической версионностью
10.4.2. Множество сессий с автоматической версионностью
10.4.3. Проверка версий на уровне приложения
10.5. Отсоединение сессии
10.6. Пессимистическая блокировка
11. HQL: Язык запросов Hibernate (The Hibernate Query Language)
11.1. Case Sensitivity
11.2. The from clause
11.3. Associations and joins
11.4. The select clause
11.5. Aggregate functions
11.6. Polymorphic queries
11.7. The where clause
11.8. Expressions
11.9. The order by clause
11.10. The group by clause
11.11. Subqueries
11.12. HQL examples
11.13. Tips & Tricks
12. Запросы с использованием Criteria
12.1. Создание экзепляра Criteria
12.2. Сужение выборки
12.3. Сортировка результатов
12.4. Ассоциации
12.5. Динамическая выборка по ассоциациям
12.6. Запросы по примеру
13. Нативные SQL запросы
13.1. Создание SQL Запроса
13.2. Связи свойств и алиасов
13.3. Именованные SQL запросы
14. Improving performance
14.1. Understanding Collection performance
14.1.1. Taxonomy
14.1.2. Lists, maps and sets are the most efficient collections to update
14.1.3. Bags and lists are the most efficient inverse collections
14.1.4. One shot delete
14.2. Proxies for Lazy Initialization
14.3. The Second Level Cache
14.3.1. Cache mappings
14.3.2. Strategy: read only
14.3.3. Strategy: read/write
14.3.4. Strategy: nonstrict read/write
14.3.5. Strategy: transactional
14.4. Managing the Session Cache
14.5. The Query Cache
15. Toolset Guide
15.1. Schema Generation
15.1.1. Customizing the schema
15.1.2. Running the tool
15.1.3. Properties
15.1.4. Using Ant
15.1.5. Incremental schema updates
15.1.6. Using Ant for incremental schema updates
15.2. Code Generation
15.2.1. The config file (optional)
15.2.2. The meta attribute
15.2.3. Basic finder generator
15.2.4. Velocity based renderer/generator
15.3. Mapping File Generation
15.3.1. Running the tool
16. Пример: Родитель/Ребенок (Parent/Child)
16.1. Примечание о коллекциях
16.2. Двунаправленная один-ко-мрогим ассоцияция (bidirectional one-to-many)
16.3. Cascading lifecycle
16.4. Using cascading update()
16.5. Conclusion
17. Пример: Weblog-Приложение
17.1. Долгоживущие Классы (Persistent Classes)
17.2. Hibernate-Мэппинг
17.3. Hibernate-Код
18. Пример: Различные Мэппинги
18.1. Работодатель/Служащий (Employer/Employee)
18.2. Инициатор/Работа (Author/Work)
18.3. Клиент/Заказ/Товар (Customer/Order/Product)
19. Лучшие Практики Использования