| Introduction
• Classroom logistics
• Course overview
• Tools and software discussion
Hibernate Overview
• Object Relational mismatch
• What is an ORM?
• Alternatives to Hibernate (EJB, IBatis,
JDBC)
• Hibernate architecture overview
• Introduction to Hibernate classes
Configuration and Session Factory
• Discussion of Configuration object
• Discussion of Session Factory object
• Configuration properties
• JDBC properties
• Other properties
• Building a Configuration
• Programmatically
• Using .properties file
• Using XML configuration file
• Combining build methods
• Reusing the Session Factory
• Threadlocal variable pattern
Session
• Persistence management
• HelloWorld example
• Simple Employee mapping
• CRUD examples
• insert
• get vs. load
• update
• delete
• Review of Javadoc for Session
• Object States
• Review of State Transition diagram
• Transient state
• Persistent state
• Detached state
• Maintaining object identity
• Re-attaching detached objects
Mapping Associations
• Entity types
• Value types
• Components
• Hibernate Types
• Custom value types
Advanced Mappings
• Subclasses and inheritance
• Other mappings
Query and Criteria
• Hibernate Query Language (HQL)
• WHERE clause
• Sorting
• Projections
• Criteria queries
Fetching Strategies and Performance
• Review of Hibernate fetching
• Strategies for JOIN, SUBSELECT, BATCH
• Lazy initialization
• Transitive persistence
• Cascade feature
• Impact of fetching strategies
Caching (Using EhCache)
• Cache concepts
• First Level Cache
• Second Level Cache
•Cache Modes
•Using statistics to monitor cache
•EhCache Configuration
Patterns and Best Practices
• Threadlocal pattern
• Save Session in View
• DAO Pattern
|