Udemy Master Hibernate and JPA with Spring Boot in 100 Steps Udemy
Price: USD 200

    Course details

    The Java Persistence API provides Java developers with an api for mapping java objects to relational data. In this course, you will learn about the JPA API, JPQL (Java Persistence query language), Java Persistence Criteria API and how you can perform ORM (Object Relational Mapping) with JPA. 

    Hibernate is the most popular implementation of JPA. It was the most popular ORM framework option before JPA emerged and it provides additional features on top of JPA. We will use Hibernate as the JPA implementation in this course.

    During this course

    • You will learn the basics of JPA and Hibernate - Entities, Relationships, Inheritance Mappings and Annotations
    • You will understand approaches to querying data using JPA and Hibernate - JPQL, Criteria API and Native Queries
    • You will understand JPA and Hibernate Relationships in depth - One to One, Many to One and Many to Many
    • You will use a variety of Spring Boot Starters - Spring Boot Starter Web, Starter Data Jpa, Starter Test
    • You will learn the basic of performance tuning your JPA application with Hibernate - Solve N+1 Queries Issue. 
    • You will learn the basics of caching - First Level Cache and Second Level Cache with EhCache
    • You will understand the basics of Spring Data JPA and Spring Data REST

    Below are the step by step details of the important sections of the course:

    Journey from JDBC To JPA

    1. Step01 - Setting up a project with JDBC, JPA, H2 and Web Dependencies
    2. Step02 - Launching up H2 Console
    3. Step03 - Creating a Database Table in H2
    4. Step04 - Populate data into Person Table
    5. Step05 - Implement findAll persons Spring JDBC Query Method
    6. Step06 - Execute the findAll method using CommandLineRunner
    7. Step07 - A Quick Review - JDBC vs Spring JDBC
    8. Step08 - Whats in the background? Understanding Spring Boot Autoconfiguration
    9. Step09 - Implementing findById Spring JDBC Query Method
    10. Step10 - Implementing deleteById Spring JDBC Update Method
    11. Step11 - Implementing insert and update Spring JDBC Update Methods
    12. Step12 - Creating a custom Spring JDBC RowMapper
    13. Step13 - Quick introduction to JPA
    14. Step14 - Defining Person Entity
    15. Step15 - Implementing findById JPA Repository Method
    16. Step16 - Implementing insert and update JPA Repository Methods
    17. Step17 - Implementing deleteById JPA Repository Method
    18. Step18 - Implementing findAll using JPQL Named Query

    JPA/Hibernate in Depth

    1. Step01 - Create a JPA Project with H2 and Spring Boot
    2. Step02 - Create JPA Entity Course
    3. Step03 - Create findById using JPA Entity Manager
    4. Step04 - Configuring application.properties to enable H2 console and additional logging
    5. Step05 - Writing Unit Test for findById method
    6. Step06 - Writing a deleteByID method to delete an Entity
    7. Step07 - Writing Unit Test for deleteById method
    8. Step08 - Writing a save method to update and insert an Entity
    9. Step09 - Writing Unit Test for save method
    10. Step10 - Quick Review and Debugging Tips
    11. Step11 - Playing with Entity Manager
    12. Step12 - Entity Manager Methods - clear and detach
    13. Step13 - Entity Manager Methods - refresh
    14. Step14 - A Quick Review of Entity Manager
    15. Step15 - JPQL - Basics
    16. Step16 - JPA and Hibernate Annotations - @Table
    17. Step17 - JPA and Hibernate Annotations - @Column
    18. Step18 - JPA and Hibernate Annotations - @UpdateTimestamp and @CreationTimestamp
    19. Step19 - JPA and Hibernate Annotations - @NamedQuery and @NamedQueries
    20. Step20 - Native Queries - Basics
    21. Step21 - Entities and Relationships - An overview
    22. Step22 - Defining Entities - Student, Passport and Review
    23. Step23 - Introduction to One to One Relationship
    24. Step24 - OneToOne Mapping - Insert Student with Passport
    25. Step25 - OneToOne Mapping - Retrieving Student with Passport and Eager Fetch
    26. Step26 - OneToOne Mapping - Lazy Fetch
    27. Step27 - Session vs Transaction
    28. Step28 - OneToOne Mapping - Bidirectional Relationship - Part 1
    29. Step29 - OneToOne Mapping - Bidirectional Relationship - Part 2
    30. Step30 - ManyToOne Mapping - Designing the database
    31. Step31 - ManyToOne Mapping - Retrieving and inserting Reviews for Course
    32. Step32 - ManyToOne Mapping - Generalizing Insert Reviews
    33. Step33 - ManyToOne Mapping - Wrapping up
    34. Step34 - ManyToMany Mapping - Table Design
    35. Step35 - ManyToMany Mapping - Adding Annotations on Entities
    36. Step36 - ManyToMany Mapping - Fixing two join tables problem
    37. Step37 - ManyToMany Mapping - Customizing the Join Table
    38. Step38 - ManyToMany Mapping - Insert Data and Write Join Query
    39. Step39 - ManyToMany Mapping - Retrieve Data using JPA Relationships
    40. Step40 - ManyToMany Mapping - Insert Student and Course
    41. Step41 - Relationships between JPA Entities - A summary
    42. Step42 - Introduction to Inheritance Hierarchies and Mappings
    43. Step43 - JPA Inheritance Hierarchies and Mappings - Setting up entities
    44. Step44 - JPA Inheritance Hierarchies and Mappings - Setting up a Repository
    45. Step45 - JPA Inheritance Hierarchies and Mappings - Single Table
    46. Step46 - JPA Inheritance Hierarchies and Mappings - Table Per Class
    47. Step47 - JPA Inheritance Hierarchies and Mappings - Joined
    48. Step48 - JPA Inheritance Hierarchies and Mappings - Mapped Super Class
    49. Step49 - JPA Inheritance Hierarchies and Mappings - How to Choose?
    50. Step50 - JPQL - Courses without Students
    51. Step51 - JPQL - Courses with atleast 2 Students and order by
    52. Step52 - JPQL - Courses like 100 Steps
    53. Step53 - JPQL - Using Joins
    54. Step54 - Criteria Query - Retrieving all courses
    55. Step55 - Criteria Query - Courses like 100 Steps
    56. Step56 - Criteria Query - Courses without Students
    57. Step57 - Criteria Query - Using Joins
    58. Step58 - Introduction to Transaction Management
    59. Step59 - Transaction Management - ACID Properties
    60. Step60 - Understanding Dirty, Phanthom and Non Repeatable Reads
    61. Step61 - Understand 4 Isolation Levels
    62. Step62 - Choosing between Isolation Levels
    63. Step63 - Implementing Transaction Management - 3 Things to Decide
    64. Step64 - Introduction to Spring Data JPA
    65. Step65 - Testing the Spring Data JPA Repository with findById.
    66. Step66 - Spring Data JPA Repository - CRUD Methosd
    67. Step67 - Sorting using Spring Data JPA Repository
    68. Step68 - Pagination using Spring Data JPA Repository 
    69. Step69 - Custom Queries using Spring Data JPA Repository 
    70. Step70 - Spring Data REST
    71. Step71 - Introduction to Caching
    72. Step72 - Hibernate and JPA Caching - First Level Cache
    73. Step73 - Hibernate and JPA Caching - Basics of Second Level Cache with EhCache
    74. Step74 - Hibernate and JPA Caching - Second Level Cache Part 2
    75. Step75 - Hibernate Tips - Hibernate Soft Deletes - @SQLDelete and @Where
    76. Step76 - Hibernate Soft Deletes - Part 2
    77. Step77 - JPA Entity Life Cycle Methods
    78. Step78 - Using Embedded and Embeddable with JPA
    79. Step79 - Using Enums with JPA
    80. Step80 - JPA Tip - Be cautious with toString method implementations
    81. Step81 - JPA Tip - When do you use JPA?
    82. Step82 - Performance Tuning - Measure before Tuning
    83. Step83 - Performance Tuning - Indexes
    84. Step84 - Performance Tuning - Use Appropriate Caching
    85. Step85 - Performance Tuning - Eager vs Lazy Fetch
    86. Step86 - Performance Tuning - Avoid N+1 Problems

    Hibernate Tips & Tricks

    • When does Hibernate send updates to the database?
    • When do we need @Transactional in an Unit Test?
    • Do read only methods need a transaction?
    • Why do we use @DirtiesContext in an Unit Test?
    • How to connect to a different database with Spring Boot?
    • How do you approach designing great applications with JPA?
    • Good Practices for developing JPA Applications
    Updated on 27 December, 2017
    Courses you can instantly connect with... Do an online course on Web Development starting now. See all courses

    Rate this page