The Advanced Hibernate training course examines the more complex and advanced aspects of using Hibernate as a Java Persistence Architecture (JPA) persistence provider.
The Advanced Hibernate training course assumes students are familiar with Hibernate and have taken the Introduction to Hibernate training course.
This course can be combined with the Introduction to Hibernate course to create a 5-day comprehensive Hibernate Training program. Or, combine it with the Introduction to Spring course to create a Spring Hibernate Boot Camp.
- Create dynamic queries using the Criteria API
- Migrate an existing Hibernate solution to JPA
- Perform advanced Hibernate/JPA optimization techniques
What You'll Learn
In the Advanced Hibernate training course, you’ll learn:
- Core Hibernate Concepts
- What is Hibernate
- Hibernate v. JPA (Java Persistence Architecture)
- Overview of key concepts and terms
- Review of Native Hibernate APIs
- Resolving the relationship between Hibernate and JPA
- Hibernate Query Language
- Building HQL queries
- The Select clause
- The Where clause
- Named and Entity parameters
- Associations and aggregates
- Bulk Updates and Deletes
- Named Queries
- Using Native SQL
- Hibernate Criteria API
- What is it? How does it work? When to use it?
- Criteria queries
- The Criteria Interface
- Using restrictions
- Windowing results
- Traversing associations
- Projections and aggregates
- Query By Example (QBE)
- Working with Transactions
- Review of Transaction concepts
- Managing Transactions
- Using the JTA to manage transactions
- Performing commits and rollbacks
- Working with Locking
- Review of locking concepts
- Working with optimistic locking
- Working with pessimistic locking
- Advanced Hibernate Concepts
- Inheritance and mapped super classes
- Modeling relationships as Maps
- Using Collections as embedded types
- Working with nested embedded classes
- Entity Lifecycle Handling
- PrePersist, PreRemove, and PreUpdate
- PostPersist, PostRemove, PostUpdate, and PostLoad
- Hibernate Performance tuning
- Lazy and eager fetching
- Mass updates and removals
- Configuring second-level caching
- Hibernate specific tuning options
Meet Your Instructor
Michael is a practicing software developer, course developer, and trainer with DevelopIntelligence. For the majority of his career, Michael has designed and implemented large-scale, enterprise-grade, Java-based applications at major telecommunications and Internet companies, such as Level3 Communications, US West/Qwest/Century Link, Orbitz, and others.
Michael has a passion for learning new technologies, patterns, and paradigms (or, he has a tendency to get bored or disappointed with current ones)....Anil
Anil is a seasoned software engineer with over 16 years of Java development experience.
Anil started his career as a Unix programmer, slinging C-code, writing shell scripts, and teaching others how to use Unix back when Unix was still a toddler. Anil’s expertise in Unix, C, and C++ allowed him to become a member of Technical Staff at ATT / Bell labs. During his tenure at Bell Labs, Anil led the creation of software tools that simulated network traffic, in particular, cellular...Daniel
Daniel has been a self-employed developer, teacher and speaker for private businesses, education and government entities since 1999. Daniel also actively teaches programming for the University of New Mexico Continuing Education.
Daniel is a Pomodoro Technique practitioner, and co-founder of the Albuquerque Java User’s Group in Albuquerque, New Mexico. When he’s not supporting other local Java developers, Daniel spends most of his waking hours developing in and around the Java ecosystem, encompassing...