AM-400: ORM Framework Training: Getting started with Hibernate ® ORM (Object/Relation Mapping) Framework
WorkShop Overview
After completing this course you will have the skills to design and build Hibernate ® ORM framework based applications. Onsite training available.
Length
2 day, 3 day and 4 day versions of the course
Course Abstract:
Hibernate ® ORM framework has become the de facto OR (object relational) mapping framework. More people use Hibernate ® ORM than JDO and EJB CMP-CMR combined.
The Hibernate ® ORM framework was created by Gavin King, the famed author who wrote Hibernate in Action.
This course is focused around labs. All lessons prepare the students to work on the labs. Our lab books are extensive.
The lesson book and the lab book are in full color. Color syntax highlighting makes code listing easier to read.
Endorsement: "The instructor delivered what was hands-down the best technical training I've ever received. He also played a key role on a large project, and it was always a great pleasure to work with him. On top of the instructors grade A experience and skills, I've always appreciated his friendliness, easy going manner, and great sense of humor. I hope to have a chance to work with (ArcMind) again sometime!"
-Aaron (Principal Software Engineer at an Internet commerce company, Los Angeles, CA)
Read more >>
Outline
Day 1
- Introduction to Hibernate ® ORM
- Technology Benefits of Hibernate ® ORM Framework
- Architecture Overview of Hibernate ® ORM Framework
- Persistence lifecycle
- Object identity
- Getting started with Hibernate ® ORM quickly
- Mapping tables to beans
- Mapping properties to columns
- Using Jakarta commons lang to implement equals and hashCode
- Introduction to DBUnit for TDD with ORM
- Lab 1: Setting up the user Object
- Relationships
- Setting up all types of relationships
- Setting up a one to many relationship
- Understanding bidirectional relationships
- Lab 2: Setting up one to many relationship (Group to User)
- Creating a simple application user authentication
- Setting up a many to many relationship
- Understanding unidirectional relationships
- Lab 3: Setting up many to many relationship (User has roles)
- Setting up a one to one relationship
- Lab 4: Setting up one to one relationship (User has ContactInfo)
- Setting up an simple inheritance relationship
- Lab 5: Setting up an inheritance relationship (Employee is a user)
- Basic queries
- Working with queries
- Named queries
- Lab 5: Using queries and named queries
Day 2
- Transaction support
- Local transactions, global transaction
- Transaction API
- Isolation levels
- Lab 6: Using Transaction API
- Optimistic and Pessimistic locking (versioning)
- Lab 7: Implementing optimistic locking with versioning
- More mapping concepts
- Type system
- Mapping collections of value types
- Three ways to map inheritance
- Lab 8: Reimplementing Roles as a typed collection (User has Roles)
- Lab 9: Reimplementing Employee as a separate table (Employee is a User)
- Working with compound keys
- Lab 9: Working with compound keys
Day 3
- Advanced Queries
- Working with the Query API
- Working with Binding Parameters
- Grouping
- Subqueries
- Optimizing queries
- Native SQL query
- Lab 10: Using advanced query support
- Lab 11: Using native SQL query support
- Spring support for ORM and Hibernate ® ORM framework
- Spring Intro
- How Spring simplifies Hibernate ® ORM framework development
- Using HibernateTemplate
- Using Spring DAO support
- Using Spring's transaction support (declarative transactions)
- Lab 12: Using Spring DAOs
- Lab 13: Using declarative transactions
Day 4
- Caching Support
- Caching overview
- Caching Architecture
- API to control cache
- Working with EHCache
- Lab 14: Using EHCache to enhance performance
- Working with JBossCache
- Lab 15: Setting up a distributed cache cluster for enterprise applications
* Hibernate ® is a registered trademarks of Red Hat, Inc. ArcMind has no affiliation with Red Hat, Inc. and no courses or consulting services offered by ArcMind are endorsed by Red Hat, Inc. in any way.