Advanced Hibernate: Course Duration: This Is A 2 Day Course With A Half-Day On-Line Webinar As
Advanced Hibernate: Course Duration: This Is A 2 Day Course With A Half-Day On-Line Webinar As
Advanced Hibernate training is targeted toward Java developers who wish to extract the
full power of the Hibernate O/R Mapping framework. The primary target audience
consists of Java developers who work with SQL-based database systems, database
developers who are looking for an introduction to object-oriented software development
and database administrators interested in how ORM affects performance and how to
tune the performance of the SQL database management system and persistence layer.
The training covers the new Hibernate 3 features.
Course Format: The class is 70% theory and 30% hands-on lab exercises.
Course Prerequisites
We start the training with an introduction of the object/relational paradigm mismatch and
discuss a high-level overview of the current solutions for this time consuming problem.
Our conclusion is that transparent and automatic object/relational mapping as provided
by Hibernate is one of the best existing options.
We then introduce Hibernate by coding an example application in the Eclipse IDE, using
the JBoss Eclipse IDE plug-ins for Hibernate.
Next we have a look at a more complex Java object model and sophisticated object to
relational mapping techniques. We write persistent classes, including composition and
entity associations, and map them to database tables and columns.
Managing object state (i.e. loading and storing objects) with the Hibernate APIs is our
next topic. We also show you how easy it is to use EJB3 persistence operations in
Hibernate and how you can manage the state of your objects in a simple way with
cascading persistence options.
Persisting objects requires transaction processing. You will learn how to use the
Hibernate APIs for transaction demarcation and how to best integrate Hibernate into
your existing transactional systems. We discuss the innovative support in Hibernate for
long transactions, that is, transactions that require disconnection from the database
We finish this training with a collection of best practices for Hibernate application
developers. Important design patterns such as "Open Session in View" and
"ThreadLocal Session" are shown, as well as API extension points for custom
functionality.
Course Modules
1. Flashback. We kick off this training with a quick Hello World example, to refresh
our Hibernate basics. Right after this we delve into more advanced topics.
6. Application design. A popular part of the Hibernate training, this module shows
you how to design and implement a persistence layer using Hibernate. You will
learn how to correctly handle SessionFactory and Session in two-tiered and
three-tiered applications, and the best practices for transaction handling. You will
implement event interception in the persistence layer, for audit logging and other
special cases. You might also be interested in Hibernate's data conversion
capabilities, for automatic XML marshaling, or the representation of domain
objects in nested HashMaps.
9. Tuning. In our last training module we'll optimize database access - our goal is to
execute the optimal SQL queries in all situations. You will learn data caching
basics and when to use caching. We then enable Hibernate's dual layer caching
system in our labs, as well as the cache for query results.