Hibernate - JAV850
Duration: 4 days
Audience: Java programmers with a need to understand the Hibernate framework and API.
Prerequisites: A good understanding of the Java programming language is required. A basic understanding of relational databases and SQL is very helpful.
Topics:
Object Persistence
- Persistence
- Object Persistence
- Object/Relational Paradigms
- Impedance Mismatch
- Object Relational Mapping ()ORM)
- Persistent Framework
- Hibernate
- Java ORM/Persistent Frameworks
Hibernate Architecture
- Hibernate Architecture and PI
- Hibernate Installation/Setup
- Configuration
- Configuration Properties
- Mapping Files
- Persistent Classes
- 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 Stat
- Persistent State
- Persistent Object Updates and Automatic Dirty Checking
- Detached 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
More 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
- 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
- HQL Parameters
- Named Queries
- Native SQL
Criteria
- Hibernate 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
Appendix A: Fetching Strategies
- N + 1 Selects
- Fetching Strategies
- Join Fetching
- Subselect Fetching
- Batch Fetching
- Queries and Fetching Strategies
- Cartesian Product Problem
Appendix B: Cache
- The Promise of Cache
- Hibernate Caching Architecture
- First Level Cache
- Second Level Cache
- Cache Concurrency
- Configuring Second Level Cache
- Cache Regions
- Eviction
Appendix C: Annotations
- Metadata
- Annotations Pros/Cons
- Configuring Hibernate Annotations
- EJB3/JPA Annotations
- Entity Annotations
- Embedded Object (Component) Annotations
- Inheritance Annotatio



