Hibernate Development
Hibernate is a popular object-relational mapping framework for Java applications. Using Hibernate, you can implement enterprise applications based on objects, relying on Hibernate to map the objects to persistent storage in the database.
This course describes Hibernate ORM techniques, showing how to map complex data relations to object hierarchies and how to manage the lifetime and persistence of these objects.
What you will learn:
- Understanding mapping and API choices
- Mapping classes to tables
- Using JPA and/or HQL to query entities
- Using advanced query techniques
- Managing entity lifetimes
- Mapping associations and collections
- Mapping inheritance hierarchies
- Using the Criteria API
Prerequisites:
- At least 6 months Java programming experience
- Familiarity with relational databases and SQL
Course outline:
Getting Started with Hibernate
- Object-relational mapping (ORM) concepts and issues
- Overview of mapping
- Introduction to HQL and JPA
Query Techniques
- Finding objects by primary key
- Querying for entities
- Using functions
- Ordering, paging, and filtering
- Projections
- Handling simple associations
- Named queries
Mapping Classes by using Annotations
- Getting ready for annotations
- Using annotations
- Strategies for generating IDs
- Embedded objects
Managing Entities
- Entity states
- Managing attached entities
- Managing detached entities
Additional Query Techniques
- Reporting queries
- Sub-queries
- Native queries
- Query hints
- Model metadata
Mapping Associations
- Relationships and associations
- Defining 1-1 associations
- Defining 1-many associations
- Defining many-many associations
- Defining join classes
- Cascading
JPA and Java Enterprise Edition
- Java EE essentials
- Using entities in Java EE
- Transaction management in Java EE
Mapping Collections
- Collections vs. associations
- Using sets for uniqueness
- Using lists for ordering
- Collections of components
Mapping Inheritance Hierarchies
- The role of inheritance in Hibernate
- Defining a single table per hierarchy
- Defining a table per concrete class
- Defining a table per subclass
- Mixing inheritance strategies
Using the Criteria API
- Getting started with the Criteria API
- Selection techniques
- Using predicates
- Additional techniques
Andy Olsen - author of the course
Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.