TOPICS:
- Object Persistence
- Object/Relational Paradigms
- O/R Mismatch
- Object Relational Mapping (ORM)
- Java ORM/Persistent Frameworks
- Hibernate Architecture
- Hibernate Architecture and API
- Hibernate Installation/Setup
- Configuration
- Configuration Properties
- Mapping Files
- Persistent Classes
- POJOs
- JavaBeans
- Basic Mapping
- Class to Table Mappings
- Property Mapping
- Identifiers
- Generators
- Natural Keys
- Identifier Exposure
- Quoting SQL Tables and Columns
- Working with Persistent Objects
- Entity Lifecycle
- Transient State
- Persistent State
- Persistent Object Updates and Automatic Dirty Checking
- Deattached State
- Deleted
- Object Identifiers Revisited
- Merge
- Components
- Domain Model
- Entities and Values
- Components
- Associations
- Many-to-one
- Bidirectional Many-to-one
- Other Collections
- Other Associations
- One-to-one
- Bidirectional One-to-one
- Many-to-many
- Bidirectional Many-to-many
- Value Type Collections
- Collections of Value Types
- Collections of Components
- Sorting Collections
- 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
- Transitive Persistence
- Lazy Loading
- Proxies
- Eager Loading
- What’s a Proxy?
- Detached Objects and Proxies
- Polymorphic Associations Revisited
- HQL
- Hibernate Object Fetching Options
- Hibernate Query
- HQL Parameters
- Named Queries
- Native SQL
- Criteria
- Restrictions
- Query By Example
- Scrolling
- Query Hints
- Query Option Pros/Cons
- Transactions and Concurrency
- The Java Transaction
- Hibernate Transaction Configuration
- Hibernate Transaction API
- Concurrency
- Isolation Levels
- Optimistic Locking
- Versioning
- Pessimistic Locking
- Cache
- Hibernate Caching Architecture
- First Level Cache
- Second Level Cache
- Cache Concurrency
- Configuring Second Level Cache.