Improve your coding skills from beginner to expert with the largest online Java e-learning platform

Hibernate and JPA

featuring HQL, JPQL, Optimistic and Pessimistic Locking, Lazy Initialisation, Detached Objects and Performance
  • This Hibernate and JPA training course takes you through all of the major features of Hibernate.
  • The course is fully practical, and is essentially a 23 hour pair programming session. You will develop production standard code, from scratch in your own IDE.
  • The Hibernate Training starts from the absolute basics, and takes you to a professional standard.
  • The JPA Training explains how Hibernate became a Java Standard, and with small changes to your code, you can change which implementation of JPA you work with.

Pre-requisites

You will need some Java programming knowledge - you will need to be able to create classes and objects, and understand the basic syntax.

No database knowledge is required as an overview of SQL is given.

Contents - contains over 23 hours of video - equivalent to 5 days of live training.

 

Having problems? check the errata for this course.

1

Introduction


23m 55s
A general overview of Hibernate - why would you use it?

2

Getting Started


60m 52s
We set up your development environment and install Hibernate. Also, an overview of SQL if you need it.

3

Persisting Objects


31m 24s
How to change a plain Java class into a persitable class.

4

Configuring Hibernate


40m 33s
How to configure Hibernate, including the hibernate.cfg.xml file

5

Manipulating Objects


36m 39s
How to update and delete objects.

6

More on Mapping


47m 54s
More options when you are mapping your classes - @Table, @Column annotations and the difference between field and property access.

7

Crashes and Logging


22m 17s
How to handle exceptions properly in Hibernate. We also configure log4j to give detailed information that will be useful later.

8

Relationships


41m 31s
We create a Many-to-One relationship and study how this affects the database.

9

Collections


56m 8s
We now switch to collections - Sets, Lists and Maps and see how to handle a One-To-Many relationship.

10

Bi Directional Relationships


32m 23s
One of the biggest mismatches - relations on a database are bidirectional. If you want the same in the Java, you have to work hard!

11

Many to Many Relationships


28m 23s
This short chapter is followed by a major coding exercise.

12

equals and hashCode


40m 1s
This is standard Java, but extremely important with databases. We'll also see that autoincrement IDs are not a good choice for implementing equality.

13

XML Mappings


46m 35s
Optional chapter - only needed if you are using the legacy XML coding style.

14

Java Persistence API


47m 4s
The JPA is a standardised version of Hibernate - see the differences. We will use JPA for the rest of the course.

15

Cascades


28m 0s
Cascades can reduce the amount of persistence code you write.

16

Embedding Objects


53m 17s
How to use the @Embed and @Embeddable annotations.

17

Queries - Part One


43m 38s
How to use the HQL and JPQL.

18

Queries - Part Two


45m 22s
More on HQL and JPQL.

19

Queries - Part Three


48m 21s
Even more on HQL and JPQL!

20

Criteria API - Part One


38m 36s
How to use the Criteria API in the Classic Hibernate (ie using Sessions).

21

Criteria API - Part Two


50m 58s
JPA2 also has a criteria API. Full details, including the TypeSafe API.

22

Inheritance


64m 14s
Three different strategies for handling inheritance - "Single Table", "Joined Table" and "Class per Table".

23

Detaching and Merging


52m 40s
What is detaching - and how to use the merge() method. Also covers the classic versions of update() and saveOrUpdate()

24

Optimistic Locking and Versioning


41m 0s
What is optimistic locking? We see that Hibernate can version objects to prevent concurrent database changes affecting your business process.

25

Pessimistic Locking


37m 58s
These are real database locks and we explain when they need to be used. Also, the difference between PESSIMISTIC_READ and PESSIMISTIC_WRITE.

26

Lazy Initialisation


52m 14s
This is Hibernate's biggest performance optimisation. We see how you can avoid the LazyInitializationException.

27

Tuning Performance


43m 8s
More options for performance tuning, include Batch Fetching.

28

First Level Cache


39m 6s
Everyone needs to understand the First Level Cache. Full details in this chapter.

29

Second Level Caching


80m 59s
An optional chapter: we configure EhCache as a second level to tune performance.

30

Web Applications


78m 27s
We now look at a full application that uses JPA and Hibernate.

31

Spring Applications


44m 43s
How does Spring help with Hibernate? (Nb you need to have studied the previous chapter before this one).

32

EJB Applications


51m 51s
If you're using JavaEE with an application server, then this chapter shows how to integrate JPA with that. We use Glassfish as an example.

33

Course Review


22m 6s
The best books on the market, where to go from here and a few things we missed!

34

Bonus Chapter - Isolations


17m 58s
This is a short extract from our Spring Fundamentals course, where we cover Isolation levels. This may be of interest if you want to explore locking in a little more detail.

Let the Course Come to You

About Us Pricing Frequently Asked Questions Contact Privacy T&Cs Affiliates and Resellers
Facebook Twitter YouTube LinkedIn