JB267 JBoss: Advanced Hibernate

The Advanced Hibernate course is recommended for individuals who are familiar with Hibernate and wish to become experts on Hibernate 3.2.

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

Course Description

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.

What you will learn:

Course Outline

The following is an outline of the skills and knowledge represented in the training elements of the JB267 JBoss - Advanced Hibernate Course.

Note: Technical content subject to change without notice. Significant changes in course content will generally be available in posted outlines at least two months prior to being implemented in scheduled courses, to allow enrolled students adequate prep time. Reload this page regularly to insure up-to-date information.

Course content

  1. Flashback
  2. 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.

  3. Advanced class and property mappings
  4. We have a look at the different
    mapping metadata facilities available for and in Hibernate. The standard JPA annotations are discussed as well as some Hibernate annotation extensions. 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.

  5. Associations and collections
  6. 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.

  7. Transactional processing
  8. 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.

  9. Querying and fetching data
  10. 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 EJB 3.0 persistence API), and native
    SQL queries. The lab includes exercises around loading and storing objects
    efficiently.

  11. Application design
  12. 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.

  13. Legacy system integration
  14. 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.

  15. Deployment and administration
  16. 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.

  17. Tuning
  18. 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.

Track:

Part of The JBoss Enterprise Framework Platform curriculum, which includes:

Prerequisites:

The prerequisite skills for this class are the following:

  • Good 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.

Volume discounts:

If your company needs to train more than one employee at the same time, contact us to take advantage of our multi-student discounts.

Class times:

  • Thursday through Friday

    • Start: 9:00am
    • End: 4:30 to 5:00pm (depending on class progress)