Description

Prerequisites:

The prerequisite skills for this class are the following:

Basic Hibernate knowledge. Competency with the Java language Knowledge of OOAD concepts Familiarity with the UML Experience with a dialect of SQL. Using the JDK and creating the necessary environment for compilation and execution of a Java executable from the command line. Experience with, or comprehensive knowledge of JNDI and JDBC. Entity EJB2.1 or EJB3.0 knowledge, while not a prerequisite, is helpful. Prior reading of the book Hibernate in Action, by Christian Bauer and Gavin King (published by Manning) is recommended

Course Description:

The Advanced Hibernate course is recommended for individuals who are familiar with …

Frequently asked questions

There are no frequently asked questions yet.

Prerequisites:

The prerequisite skills for this class are the following:

Basic Hibernate knowledge.
Competency with the Java language
Knowledge of OOAD concepts
Familiarity with the UML
Experience with a dialect of SQL.
Using the JDK and creating the necessary environment for
compilation and execution of a Java executable from the command
line.
Experience with, or comprehensive knowledge of JNDI and JDBC.
Entity EJB2.1 or EJB3.0 knowledge, while not a prerequisite, is
helpful. Prior reading of the book Hibernate in Action, by
Christian Bauer and Gavin King (published by Manning) is
recommended

Course Description:

The Advanced Hibernate course is recommended for individuals who
are familiar with Hibernate and wish to become experts on Hibernate
3. The Advanced Hibernate course fills a two-day specialty training
credit for the Middleware Track, and may be applied to the required
number of training days for Certified JEMS Middleware Expert and
Certified JEMS Master Architect levels.

Please notice that for people new to Hibernate, the Hibernate
Essentials class is recommended before attending the Advanced
Hibernate course.

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

This course includes the following modules:

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

Advanced class and property mappings

We have a look at the different mapping metadata facilities
available for and in Hibernate. The standard XML mapping files are
discussed, as well as XDoclet and JDK 1.5 Annotations for EJB
persistence. Hibernate?á¨•s mapping type system is an important
supporting feature for fine-grained Java domain models and
you?á¨•ll learn how best design your persistent classes. We talk
about the built-in mapping strategies for entities, simple value
types, and class inheritance. Custom extension of the Hibernate
type system is another topic in this training module.

Associations and collections

Complex associations between entities, singlevalued and with
collections, often require advanced Hibernate mapping knowledge. We
discuss various kinds of mappings, as well as Hibernate?á¨•s fully
polymorphic behavior. We then apply this knowledge in our lab
exercise.

Transactional processing

Hibernate defines several object states and provides APIs to
change the state of an object. We show you how to use these APIs
correctly, even in tricky situations. You will use Hibernate data
filters to access regional and temporal data. We have a look at
more advanced transaction processing concepts around optimistic
locking, pessimistic locking, and longrunning application
transactions

Querying and fetching data

Advanced object retrieval options and the correct usage of
Hibernate?á¨•s association fetching strategies are the topics of
this training module. The new Criteria and Example API is also part
of our discussion, as well as advanced HQL, EJB-QL (using the new
EJB 3.0 persistence API), and native SQL queries. The lab includes
exercises around loading and storing objects efficiently

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

Legacy system integration

Many Hibernate developers have to work with existing database
schemas and existing data. Unfortunately, these schemas are usually
not in best shape, and the data might be difficult to map to Java
objects. We discuss reverse engineering using the Hibernate
toolset, as well as advanced Hibernate mapping techniques, such as
formula-based mappings, natural- and composite keys, and
triggers

Deeployment and administration

Getting Hibernate up and running is usually very easy, and
deployment requires only a single configuration in most cases. We
show you more advanced configuration options and tricks in this
training module, including deployment of Hibernate as a JMX and JCA
service in J2EE environments. Once your application is deployed,
administration becomes an important issue. You will learn how to
use logging efficiently and how to detect performance issues using
runtime monitoring with the new statistics interfaces

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

For online live training advice please visit our
Learning Advice Centre on our website. Be sure to follow us on
Twitter to receive special course offers, news and updates!