1. Object Persistence.
- Object/Relational Paradigms
- O/R Mismatch
- Java ORM/Persistent Frameworks
- Object Relational Mapping (ORM)
2. Hibernate Architecture.
- Hibernate Architecture and API
- Hibernate Installation/Setup
- Configuration
- Configuration Properties
- Mapping Files
3. Persistent Classes.
- POJOs
- JavaBeans
- Basic Mapping
- Class to Table Mappings
- Property Mapping
- Identifiers
- Generators
- Natural Keys
- Identifier Exposure
- Quoting SQL Tables and Columns
4. Working with Persistent Objects.
- Entity Lifecycle
- Persistent State
- Persistent Object Updates and Automatic Dirty Checking
- Transient State
- Dethatched State
- Deleted
- Object Identifiers Revisited
- Merge
5. Components.
- Components
- Domain Model
- Entities and Values
6. Associations.
- One-to-one
- Many-to-one
- Bidirectional One-to-one
- Bidirectional Many-to-one
- Other Collections
7. Value Type Collections.
- Collections of Value Types
- Components Collections
- Sorting Collections
8. Inheritance.
- Inheritance Mapping Strategies
- Table per concrete class
- Table per subclass
- Table per hierarchy
- Inheritance Mapping Pros/Cons
- Polymorphism
- Table per concrete class with unions
- Choosing an Inheritance Strategy
9. Transitive Persistence.
- Lazy Loading
- Proxies
- Eager Loading
- What’s a Proxy?
- Detached Objects and Proxies
- Polymorphic Associations Revisited
10. Custom Mapping.
- Custom Mapping Types
- User Type
- Enumerations
11. HQL.
- Hibernate Object Fetching Options
- Hibernate Query
- HQL Parameters
- Named Queries
- Native SQL
12. Criteria.
- Restrictions
- Query By Example
- Scrolling
- Query Hints
- Query Option Pros/Cons
13. Transactions and Concurrency.
- The Java Transaction
- Hibernate Transaction Configuration
- Hibernate Transaction API
- Concurrency
- Isolation Levels
- Optimistic Locking
- Versioning
- Pessimistic Locking
14. Fetching Strategies.
- N+1 Selects
- Join Fetching
- Sub select Fetching
- Batch Fetching
- Queries and Fetching Strategies
- Cartesian product Problem
15. Cache.
- Hibernate Caching Architecture
- First Level Cache
- Second Level Cache
- Cache Concurrency
- Configuring Second Level Cache
16. Annotations.
- Metadata
- Annotations Pros/Cons
- Configuring Hibernate Annotations
- EJB3/JPA Annotations
- Hibernate Annotations