Using Hibernate in Java Applications - A 3 Day Course
Synopsis
Hibernate is the most popular object-relational mapping tool, which uses a configuration to persist objects in an RDBMS. Advanced features of Hibernate include transactions and caching.
This highly practical course covers each of this technology, and demonstrates how it can be used to produce a robust and flexible multi-tier enterprise system.
This course is a classroom presentation with hands-on practical exercises, using Oracle Express 10g, MySql 5.0.15 and developed with the Eclipse 3.2 editor, using Java 5 or 6.
Course Objectives
On completion, delegates will be able to:
- Use the Hibernate Framework to access data
- Understand when to use an ORM layer
- Map complex object models to databases
- Manage transactions using Hibernate
- Use caching to improve database performance
- Query objects using the Hibernate Query Language
- Make use of Hibernate’s advanced features
- Use Hibernate with JEE
Suitable for
- Experienced Java developers who are going to use Hibernate to access databases. This course is not suitable for developers with little or no Java programming experience.
Prerequisites
- Delegates should have a good grounding in the Java language and its fundamental constructs, such as threads and exceptions. This could be a result of at least 6 months hands-on Java development or possibly less if preceded by appropriate training, such as one of our Java programming courses.
- Some exposure to large-scale transactional systems is beneficial
- Working knowledge of modelling, perhaps using UML
Publicly scheduled dates, locations, and prices
London — £1385 (+VAT)
- 14–16 Apr 2010
Course Contents
The Hibernate Framework
- Why have ORM's?
- Hibernate principles
- Configuration
Persistent Objects
- Object lifecycles
- Transient objects
- Flushing
- The role of the cache
Mapping
- How to map objects
- single value objects
- Multi value objects
- Relationships and Inheritance mapping options
- Using annotations to map
Hibernate Query Language
- Why another query language?
- Syntax & usage
- Deciding on the caching strategy
Java Persistence API
- JPA Lifecycle
- The Entity Manager
- JPA Query Language
Concurrency
- Concurrency options
- Pessimistic locking
- Optimistic locking
Transactions
- Configuring Transaction support
- Session and Transaction Scope
Architecture
- Data Access Objects
- Controllers
- Enterprise JavaBeans Integration
Legacy Systems Integration
- Key management
- Stored Procedures and Triggers
- Complex database schemas
Performance techniques
- Lazy Loading
- The second level cache
- Optimizing collection performance
- Propriety SQL and dialects
