1. Flashback.
Kick off this training with a quick Hello World example to refresh Hibernate basics, then delve into more advanced topics.
2. Advanced class and property mappings.
Have a look at the different mapping metadata facilities available for and in Hibernate. Explore the standard XML mapping files 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. Investigate the built-in mapping strategies for entities, simple value types, and class inheritance, and explore custom extension of the Hibernate type system.
3. Associations and collections.
Complex associations between entities, single-valued and with collections, often require advanced Hibernate mapping knowledge. Discover various kinds of mappings, as well as Hibernate's fully polymorphic behavior, and then apply this knowledge in a lab exercise.
4. Transactional processing.
Hibernate defines several object states and provides APIs to change the state of an object. Learn to use these APIs correctly, even in tricky situations. Use Hibernate data filters to access regional and temporal data, and investigate more advanced transaction processing concepts around optimistic locking, pessimistic locking, and long-running application transactions.
5. Querying and fetching data.
Learn advanced object retrieval options and the correct usage of Hibernate's association fetching strategies. Explore the new Criteria and Example API 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.
6. Application design.
A popular part of the Hibernate training, this section shows you how to design and implement a persistence layer using Hibernate. You will learn 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, and you'll explore Hibernate's data conversion capabilities for automatic XML marshaling and the representation of domain objects in nested HashMaps.
7. Legacy system integration.
Many Hibernate developers must work with existing database schemas and existing data. Unfortunately, these schemas usually are not in the best shape, and the data might be difficult to map to Java objects. Discover reverse engineering using the Hibernate toolset as well as advanced
Hibernate mapping techniques, such as formula-based mappings, natural and composite keys, and triggers.
8. Deployment and administration.
Getting Hibernate up and running is usually very easy, and deployment requires only a single configuration in most cases. Learn more advanced configuration options and tricks, 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.
9. Tuning.
Optimize database access with the goal of executing the optimal SQL queries in all situations. You will learn data caching basics and when to use caching. Then enable Hibernate's dual layer caching system in the labs and the cache for query results. |