Java Persistence: Hibernate and JPA Fundamentals

A simple-to-follow and easy-to-understand training course on Java Persistence with JPA by Example
4.5 (537 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
4,438 students enrolled Bestselling in JPA
$19
$50
62% off
Take This Course
  • Lectures 64
  • Length 5.5 hours
  • Skill Level All Levels
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 6/2014 English Closed captions available

Course Description

If you’re a Java programmer who wants to learn the fundamentals and some of the advanced topics of Java persistence with Hibernate, then you’re the one this course is designed for.

We'll be working with Hibernate 4.3.5.Final (and applicable updates for Hibernate 5.0), and using Hibernate as a JPA provider for the most part of this course. You'll be learning the fundamentals and some of the advanced JPA features for object/relational mapping, querying, cachingperformance and concurrency.

Everything important that you're going to experience when you're persisting Java objects with Hibernate is covered during the lectures itself, with the help of animations and stepping through the code. It will allow you to focus more on the concept and the events happening at runtime at the very same time when you're learning a concept, rather than waiting for me go through lengths of coding first before I could show you the same result. And then you practice the same concept with all the source code provided to you after each session that has a lab exercise.

Having said that, I will be first taking you to the level where you feel comfortable enough to start programming with Hibernate. We'll be starting everything from scratch, do the required installations, set up the development environment and learn how to configure logging, for you to be able to see and understand the events taking place at runtime. We'll also learn how to step through our code at runtime, for you to be able to see the behind-the-scene story of Java persistence with Hibernate. And only after that I'll ask you to start coding yourself. So don't you worry even if you know absolutely nothing about persisting Java objects with Hibernate.

If you're asking that what does persisting objects really mean? Don't you worry, we're going to cover even that. So, all you need to learn, enjoy and have a good experience with this course is the basic understanding of Java. That's it, I promise.

So, whether you're a beginner or already have some experience with Hibernate, we're going to cover all the grounds for you to be a confident and competent Hibernate programmer by the end of this course.

Everything we're going to learn in this course, we'll be doing it with examples. And we'll also be discussing the best practices to keep in mind when you're working on real world projects.

And if you're already good at Hibernate and JPA, you'll probably find this course to be useful for filling the gaps in your Hibernate and JPA knowledge.

Please drop me a message, in case you need me for anything to get the best out of this course for you.

And I might add more lectures to this course to make this course even better for you. So I'll appreciate your feedback, on how to improve this course for you.

And yes, to get the best out of this course, especially if you're a beginner, please don't jump through the lectures and complete the Lab Exercise of the previous lecture, before moving on to the next one.

And all the video lectures/sessions are in 16:9 HD, so please watch them in HD.

What are the requirements?

  • Basic understanding of Java
  • Prior exposure to SQL can be helpful, but its not a pre-requisite for the course

What am I going to get from this course?

  • By the end of this course, you'll be having a strong foundation on Java persistence with Hibernate
  • You'll learn the fundamentals and some of the advanced JPA features for object/relational mapping, querying, caching and performance
  • You'll learn how to use Hibernat as a JPA provider
  • You'll get a working experience on Hibernate and JPA project
  • You'll get a working experience on Eclipse IDE, MySQL and HeidiSQL
  • You'll be introduced to JBOSS Logging with Log4j
  • You'll be introduced to Apache Commons Lang
  • You'll learn some of the best practices of Hibernate

What is the target audience?

  • Java students who want to learn Java persistence with Hibernate
  • Students who want to learn Java Persistence API (JPA)
  • Working professionals on Java/JavaEE
  • Java/JavaEE trainers
  • Java greenhorns interested in having JPA with Hibernate in their armory

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: About this Course
Introduction
Preview
02:18
Section 2: Understanding object/relational persistence
Object Persistence
Preview
02:22
Relational Database
05:47
Object Model and Relational Model
01:47
Object Relational Impedance Mismatch
Preview
07:42
Object Relational Mapping
14:01
Installing MySQL
06:33
Installing Eclipse IDE
02:22
Lab - Object Relational Mapping
08:31
Lab Exercise - Object Relational Mapping
1 page
Section 3: Getting Started with Hibernate and JPA Annotations
What is Hibernate
01:17
Hello World with Hibernate and JPA Annotations
11:11
Lab - Hello World with Hibernate and JPA Annotations
06:18
Lab Exercise - Hello World with Hibernate and JPA Annotations
Article
Logging
05:41
Lab Exercise - Logging
1 page
Manipulating Objects
06:01
Lab Exercise - Manipulating Objects
1 page
Section 4: Mapping Concepts
Aggregation and Composition
01:23
Entities and Value Types
Preview
03:29
Component Mapping
07:44
Lab Exercise - Component Mapping
1 page
Mapping Associations
02:28
Lab Exercise - Mapping Associations
1 page
Cascades
03:47
Lab Exercise - Cascades
1 page
One-To-Many Relationship
08:02
Lab Exercise - One-To-Many Relationship
1 page
One-To-One Relationship
03:05
Lab Exercise - One-To-One Relationship
1 page
Many-To-Many Relationship
04:20
Lab Exercise - Many-To-Many Relationship
1 page
Section 5: Getting Started with JPA
What is JPA
02:21
Hibernate as JPA Provider
06:14
Lab Exercise - Hibernate as JPA Provider
1 page
Working with Objects
07:37
Lab Exercise - Working with Objects
1 page
Caching Objects
03:20
Lab Exercise - Caching Objects
1 page
SQL Joins
02:09
Lazy Fetching
07:34
Lab Exercise - Lazy Fetching
1 page
Equals and HashCode
11:24
Lab Exercise - Equals and HashCode
1 page
Query Language
17:59
Lab Exercise - Query Language
1 page
Inheritance Mapping and Polymorphic Queries
11:42
Lab Exercise - Inheritance Mapping and Polymorphic Queries
1 page
N + 1 Selects Problem
10:26
Lab Exercise - N + 1 Selects Problem
1 page
Batch Fetching
08:38
Lab Exercise - Batch Fetching
Article
Merging Detached Objects
14:16
Lab Exercise - Merging Detached Objects
1 page
Optimistic Locking and Versioning
19:48
Lab - Optimistic Locking and Versioning
09:54
Lab Exercise - Optimistic Locking and Versioning
1 page
Isolation Rules
12:55
Lab Exercise - Isolation Rules
Article
Caching and Object Identity
12:17
Lab Exercise - Caching and Object Identity
Article
Second Level Caching
46:17
Lab Exercise - Second Level Caching
Article
Section 6: Best Practices
Best Practices
04:09

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Deshraj Singh Kiran, Trainer and Consultant at MavenEdge

I am a Bachelor of Technology (B.Tech) from Indian Institute of Technology (IIT) with around 9 years of application development experience (as of April, 2016). I have been developing applications of various complexities using Java-based technologies and frameworks such as Java/JavaEE, Spring, Spring MVC, Spring WebFlow, Spring Security, Portlet, Spring Portlet MVC, Struts, Hibernate, DWR, Lucene, Android, MEAN stack and Hadoop.

Besides being a trainer at MavenEdge, I am also a working Software Consultant. I've also been a corporate trainer on Java technologies and frameworks.

I've worked on Tomcat, Glassfish, Liferay Portal, Jenkins for application development, deployment and release management.

I've worked more on Maven than Ant. And in the world of relational database management systems, I've worked mostly on MySQL.

For test driving my code I've used JUnit, EasyMock, Mockito frameworks.

Besides working on the server-end, I've also explored the front-end world of JavaScript, jQuery, Backbone and Require JS.

I've worked on projects on Android and MEAN stack. I've also been the Architect for some of the projects I've worked on. 

Currently, I am working on Hadoop projects.

Ready to start learning?
Take This Course