% Off Udemy Coupon - CourseSpeak

Hibernate and Spring Data JPA: Beginner to Guru

Master Hibernate, Remove the mystery of Spring Data JPA - Use Spring Boot 3!

$10.99 (90% OFF)
Get Course Now

About This Course

<div>Hibernate is the default JPA implementation used by Spring Data JPA.</div><div><br></div><div>NOTE: Java 17 and Spring Boot 3 are required for this course.</div><div><br></div><div>JPA stands for Java Persistence API. This is a common Java API used to work with Relational Databases.</div><div><br></div><div>Spring Data JPA is an abstraction built on top of the JPA API specification.</div><div><br></div><div>Being an abstraction, Spring Data JPA makes working with database entities very efficient.</div><div><br></div><div>Spring Data JPA eliminates a lot of the boilerplate / cerimonial code, and allows developers to focus on developing business logic.</div><div><br></div><div>The downside of the efficient abstraction is that accessing the database can become a mystery. Developers who just understand how to use Spring Data JPA do not understand the complexities of JDBC and Hibernate.</div><div><br></div><div>You will start this course with a basic demonstration of Spring Data JPA. In this section you will learn how to work with a H2 in-memory database.</div><div><br></div><div>You'll see how easy it is to work with Spring Data JPA. You will also begin to understand how the Hibernate interaction is being abstracted away.</div><div><br></div><div>Since JPA is the Java API for working with Relational Databases, the course takes a closer look at Relational Databases and MySQL specifically.</div><div><br></div><div>MySQL is the most popular open source relational database in the world. You will learn how to configure Spring Boot to test with a H2 in-memory database and to run integration tests against a MySQL database. This is a common real-world example leveraging the power of Spring and Hibernate to give you a very flexible environment.</div><div><br></div><div>Once we've established a persistent database, we can explore using database migration tools.</div><div><br></div><div>Liquibase and Flyway are two very popular database migration tools. Spring Boot supports both options. And you will learn about both options and database security best practices.</div><div><br></div><div>By establishing a MySQL database, Spring Boot Integration Tests, and automated database migrations we can use Test Driven Development to explore the features of JDBC and Hibernate.</div><div><br></div><div>In the course you will learn:</div><div><ul><li><span style="font-size: 1rem;">What is the DAO pattern, and how to implement it using JDBC, Spring's JDBCTemplate, and Hibernate</span></li><li><span style="font-size: 1rem;">Relational Database Principles</span></li><li><span style="font-size: 1rem;">Schema Creation in MySQL</span></li><li><span style="font-size: 1rem;">Schema Generation using Hibernate</span></li><li><span style="font-size: 1rem;">Database Migrations using Liquibase</span></li><li><span style="font-size: 1rem;">Database Migrations using Flyway</span></li><li><span style="font-size: 1rem;">Database Integration Testing using Spring Boot and JUnit 5</span></li><li><span style="font-size: 1rem;">Defining Primary Key's with Hibernate</span></li><li><span style="font-size: 1rem;">Hibernate Criteria Queries</span></li><li><span style="font-size: 1rem;">Named JPA Queries</span></li><li><span style="font-size: 1rem;">Spring Data JPA query methods</span></li><li><span style="font-size: 1rem;">Spring Data JPA @Query Annotation</span></li><li><span style="font-size: 1rem;">Entity Relationships - One to One, One to Many, Many to One, Many to Many</span></li><li><span style="font-size: 1rem;">Embedded Types</span></li><li><span style="font-size: 1rem;">Natural Keys</span></li><li><span style="font-size: 1rem;">Composite Keys</span></li><li><span style="font-size: 1rem;">Spring Data JPA Query Methods</span></li><li><span style="font-size: 1rem;">Paging and Sorting</span></li><li><span style="font-size: 1rem;">Database Transaction Management</span></li><li><span style="font-size: 1rem;">Database Fetch Operations</span></li><li><span style="font-size: 1rem;">Data Validation</span></li><li><span style="font-size: 1rem;">JPA Inheritance</span></li><li><span style="font-size: 1rem;">Hibernate Interceptors and Listeners</span></li><li><span style="font-size: 1rem;">JPA Callbacks</span></li><li><span style="font-size: 1rem;">Legacy Database Mapping</span></li><li><span style="font-size: 1rem;">Using Multiple Data Sources</span></li><li><span style="font-size: 1rem;">Spring Data REST</span></li></ul></div><div><span style="font-size: 1rem;">Learn Hibernate and Spring Data JPA - Enroll today!</span></div>

What you'll learn:

  • Learn about the Java JPA Specification and the Hibernate JPA Implementation
  • How to Query Data with JDBC, JDBC Template, Hibernate, and Spring Data JPA
  • Learn how to use JPA's Object Relational Mapping (ORM) to map Java POJOs to relational database tables
  • Understand JPA Relationships - One to One, One to Many, Many to One, and Many to Many
  • How to persist data to a relational database using JPA and Hibernate
  • How you can use Hibernate's Paging and Sorting features
  • Understand Database Transactions and How you can control them
  • Use Liqibase and Flyway to Manage Database Migrations
  • Understand How to Implement the DAO pattern using JDBC, JDBC Template, Hibernate, and Spring Data JPA
  • Learn to Generate Database Schemas from JPA Entities Using Hibernate
  • Use Advanced JPA features to map Legacy Databases