Course Content
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
- Detatched State
- Deleted
- Object Identifiers Revisited
- Merge
Components
- Domain Model
- Entities and Values
- Components
Associations
- Many-to-one
- Bidirectional Many-to-one
- Other Collections
- Many-to-one List
- Many-to-one Map
- Many-to-one Bag
- Many-to-one Array
Other Associations
- One-to-one
- Bidirectional One-to-one
- Many-to-many
- Bidirectional Many-to-many
- Many-to-many Identifier Bag
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
Custom Mapping
- Custom Mapping Types
- UserType
- Enumerations
HQL
- Hibernate Object Fetching Options
- Hibernate Query
- HQL Parameters
- Named Queries
- Native SQL
Criteria
- Restrictions
- Query By Example
- Scrolling
- Pagination
- Query Hints
- Query Option Pros/Cons
Transactions and Concurrency
- The Java Transaction
- Hibernate Transaction Configuration
- Hibernate Transaction API
- Concurrency
- Isolation Levels
- Optimistic Locking
- Versioning
- Optimistic Locking without Versioning
- Pessimistic Locking