Introduction to Hibernate
 
 

Introduction to Hibernate

Course Code: HIBI

Duration: 2 days

S6

Introduction to Hibernate Course Overview

Hibernate is a popular Object/Relational Mapping framework that enables developers to write applications whose data persists in a database beyond the lifetime of the application that uses the data.

The Introduction to Hibernate course focuses on the practical aspects of using Hibernate as part of the technology stack. Attendees will learn how to develop persistent classes following natural Object-oriented idioms including inheritance, polymorphism, association, composition, and the Java collections framework.

The course uses Hibernate 5.2, and is based around a series of hands-on practical exercises and examples, where attendees will learn how to use Hibernate to produce high-performance, scalable and reliable software that manages critical data.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

The delegate will learn and acquire skills as follows:

  • Understand the benefits of Hibernate
  • Understand the Hibernate architecture
  • Create Hibernate based applications
  • Understand and use Hibernate mapping to map persistent objects to the database
  • Understand and work with collections and associations
  • Use value and Entity Types
  • Create bi-directional and uni-directional mappings
  • Use Hibernate's versioning support
  • Map inheritance hierarchies using Hibernate
  • Work with Hibernate queries, HQL, and Criteria
  • Performance tuning Hibernate applications
  • Understand Hibernate transaction support

Who will the Course Benefit?

The Introduction to Hibernate course is aimed at architects, programmers, engineers, managers and those involved in the development of complex enterprise-level Java applications.

This course is aimed specifically at those using Java as the core development language.

Course Objectives

This course aims to provide the delegate with the knowledge to be able to:

  • Configure JPA and Hibernate
  • Map Java objects to relational tables
  • Map object associations to relationships
  • Manage transactions
  • Create and retrieve persistent objects
  • Manipulate persistent objects

Requirements

Delegates attending this course should have experience programming with Java. This knowledge can be obtained by attendance on the pre-requisite Java Programming 1 course. Some exposure to JDBC would also be useful. JDBC is covered on our Java Programming 2 course, attendance of this course would be beneficial

Pre-Requisite Courses

Follow-On Courses

Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.


 

Course Contents

Introduction to Hibernate Training Course

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO HIBERNATE

  • Why ORM?
  • Choosing Hibernate
  • Hibernate Architecture
  • Hibernate Setup
  • Downloading Hibernate
  • Installing Hibernate
  • Hibernate Configuration
  • Hibernate Properties
  • Example MySQL Configuration
  • Example Oracle Configuration
  • Example Derby Configuration

Session 2: USING HIBERNATE

  • Hibernate Mapping
  • Mapping with Annotations
  • Hibernate Session
  • Hibernate Session: A Deeper Look
  • Hibernate Transactions
  • Transaction Properties
  • Transaction Rollbacks
  • Transaction API
  • Hibernate Entities
  • Hibernate Versioning
  • Hibernate Logging

Session 3: HIBERNATE MAPPING

  • Mapping Classes
  • Entity and Value Types
  • Value Types
  • Embeddable Types
  • Key Generation Strategies
  • Identity Strategy
  • Sequence Strategy
  • Table Strategy
  • Auto Strategy
  • Inheritance Mapping
  • Table Per Class
  • Table Per Subclass
  • Table Per Concrete Class
  • Relationship Mapping
  • Understanding Relationships
  • One-to-One Associations
  • One-to-Many Associations

Session 4: QUERYING PERSISTENT OBJECTS

  • Hibernate Query Language
  • HQL Expressions
  • HQL Functions
  • HQL Queries
  • Sample Queries
  • Polymorphic Queries
  • Scrollable Result Sets
  • Named Queries
  • Using Joins
  • Hibernate Caching
  • Caching Levels
  • Query Caching
  • Grouping and Subqueries
  • Binding Parameters
  • Criteria Query

Session 5: THE HIBERNATE ENVIRONMENT

  • The session manager
  • Transitive persistence
  • Dealing with long-running transactions
  • Locking implications

Introduction to Hibernate Training Course

Session 6: ADVANCED MAPPING

  • Mapping to collection classes
  • Managing multiplicity: one-to-many, many-to-many
  • Custom mapping types

Session 7: SOURCE FILES

  • Creating the SessionFactory
  • Fetching strategies
  • The n+1 issue and its solution
  • Lazy (and aggressive) fetching strategies

Session 8: PERFORMANCE CONSIDERATIONS

  • First- and second-level caching
  • Monitoring and tuning Hibernate-generated SQL

Session 9: HIBERNATE AND JPA

  • Comparison of Hibernate with the Java Persistence API
  • Pros and Cons of Hibernate versus JPA in an EJB 3
  • Environment
  • Best of both worlds: Hibernate EntityManager

Session 10: HIBERNATE TOOLS

  • Automatic schema generation
  • Automatic POJO generation
  • Accommodating existing schemas
  • The Hibernate console and mapping editor

Session 11: HIBERNATE 5 NEW FEATURES

  • Enhanced Hibernate Search
  • Hibernate Validator
  • Improved Java 8 Support
  • Bootstrapping API
  • A look at Hibernate OGM
  • ByteBuddy Enhancements
  • Hibernate Multi-tenancy
 

Introduction to Hibernate

Duration: 2 days

RRP: £895.00 exc. VAT 


Upcoming Scheduled Events
Next 6 months

London
Start Date   Spaces Book
17 Jan 2019   Spaces StayAhead - Course Running Book
 
18 Mar 2019
StayAhead Virtual Courses available 
Spaces StayAhead - Course Running Book
 
30 May 2019
StayAhead Virtual Courses available 
Spaces StayAhead - Course Running Book
 
Virtual Events StayAhead Virtual Courses available You can attend your training virtually using the London dates shown above. Those events highlighted with StayAhead Virtual Courses available already have virtual delegates booked. Please contact us for more details on our Virtual training options or to discuss specific Virtual course dates to meet your requirements.
 

Course Reviews

Great Instructor! Well spoken and easy to understand.

Iqbal - Java Developer - November 2018


 
 
 
        Home             Let Us Call You
 

 

Course Deliveries

Public Scheduled and Closed
Virtual
UK and Overseas

OUG

Oracle User Group - Membership Benefits

OUG

Certification

Our independent Oracle, Solaris & Red Hat Linux curriculums helps prepare delegates for official certification.

StayAhead
Flexibility

Cannot see a sutiable date?
Please call us and we will try an accommodateyour needs!




Our Course Curriculum

 
 
 
 
 



Our Ratings

Instructor
Quality
 

97.48%

Course
Practical
 

92.63%

Overall
Courseware
 

94.44%

Overall
Course
 

96.46%

+44 (0)20 7600 6116
sales@stayahead.com
Copyright © 2019 StayAhead Training Ltd
Cookies   /   Privacy Policy