강의

멘토링

커뮤니티

Programming

/

Back-end

High-Performance JPA & Hibernate

Is your Java persistence application a well-built, high-performance enterprise application, or slow code that just barely runs? The difference between the two is just a fine line. Let's study JPA and Hibernate properly and build high-performance applications!

(4.2) 43 reviews

658 learners

Level Intermediate

Course period Unlimited

  • Vlad Mihalcea
Java
Java
JPA
JPA
hibernate
hibernate
Java
Java
JPA
JPA
hibernate
hibernate

Reviews from Early Learners

Reviews from Early Learners

4.2

5.0

화를참자

6% enrolled

I knew there were lectures by Vlad, but I hesitated because I'm not good at English. I don't know when Vlad learned Korean, but thank you for sharing your knowledge in Korean... It seems to be well-structured with high density. I will study the rest thoroughly.

5.0

장우정

98% enrolled

A well-organized lecture. It clearly explains the queries of JPA and Hibernate. It's well-organized in how to test performance and which implementation methods are better accordingly. It felt like it neatly organized and tied together knowledge that was scattered all over the place.

5.0

hahahl

10% enrolled

I'm taking the JPA course after the SQL one, and as expected, the quality of the lectures is undeniably excellent!

What you will gain after the course

  • Learn how to analyze and solve JDBC, JPA, and Hibernate performance issues in a practical environment.

  • Learn to understand the internal structure of JPA and Hibernate and accurately analyze the root cause of performance degradation.

  • Beyond simply using APIs, you can develop data access design skills to control query execution flow and state change mechanisms.

Vlad-Banner (edited)

Learn from global experts
High-Performance Java Application Strategy

Are you really using the JPA you are using now properly?

Most performance bottlenecks start with what we think we know.

" The moment you understand Hibernate internals , your practical design changes ."

Fundamentals of Performance Design Understanding with Hibernate

Many Java developers use JPA to handle data, but when a performance problem occurs in practice, it is not easy to pinpoint the exact cause. Even if you look at the log, there are no clues, and even if you fix the code, there are many cases where it does not improve. This is because they only look at the code that is visible without properly understanding the internal workings of Hibernate, which is the basis of JPA.

What actually happens inside JPA ? When are connections opened, when are queries executed, and how do batch processing, caching, and locking affect performance? Understanding the Hibernate flow can help you answer these questions.

Recommended by many Java experts
Performance Optimization Bible

Praise from Java Champions Around the World
Amazon rating 4.7
️ Direct lecture from the best-selling author!

Rafael Winterhalter
(Byte Buddy founder
Java Champion)

Lukas Eder
(JOOQ Founder
Java Champion)

Markus Eisele
(Red Hat Technology Evangelist
Java Champion)

Whether you use JDBC directly or via JPA or Hibernate, there is no better summary of the performance implications.

This book is a must-read for any developer who wants to push the performance of relational databases to the limit with Java applications.

Vlad has distilled his vast experience into an easy-to-read book that is a must-read for anyone working with JPA or Hibernate.

The lecture "High-Performance JPA & Hibernate"

A rare JPA optimization course focused on performance issues

Most JPA lectures focus on entity design or API writing. However, this lecture focuses on solving performance bottleneck problems that occur repeatedly in practice . It diagnoses complex issues such as unexpected lazy loading exceptions, query explosion, and cache invalidation from the cause through Hibernate's internal structure, and presents design criteria that consider performance based on core elements such as flush, connection pool, and statement creation flow.

Hibernate Thinking That Changes Practical Design

Hibernate can execute queries at times we don't intend, or generate dozens of queries with just one association setting. This lecture structurally analyzes the internal mechanisms that trigger query generation, such as dirty checking, execution time, and association processing. Through this, students will be equipped with design judgment criteria that can predict execution flow and maintain performance under changing conditions .

Understand Hibernate execution flow ' visually '

The internal workings of Hibernate are too complex and abstract to be understood through code alone. This lecture uses step-by-step diagrams to visually explain the flow from connection creation to execution plan, cache application, and locking processing. It is structured so that you can intuitively understand the complex execution structure according to the execution order and condition flow, and through the lecture, you can develop a design sense that penetrates the entire structure of Hibernate at a glance .

Learning Contents

This course provides a foundation for more sophisticated handling of JPA by understanding the internal workings of Hibernate, including query execution flow and resource usage.

Connection Lifecycle and Pool Control Strategy

Resource bottlenecks can occur when connections are created and closed for each request, or when they behave unexpectedly. In this lecture, you will learn how Hibernate works with connection pools, and how to use connection providers and statistics to track resource flows and bottlenecks.

Identifier Strategy and Optimization

The way identifiers are generated has a direct impact on the scalability and initial performance of the system. We will look at how association and inheritance design, along with Hibernate's optimizer strategy, affect query volume and complexity. We will also learn criteria for structurally preventing performance bottlenecks caused by poor design.

Control query execution timing

Hibernate's flush timing occurs in various conditions than expected, and it can also cause unnecessary query occurrence. In this lecture, you will learn how to precisely control query execution timing through internal mechanisms such as action queue, dirty checking, and bytecode enhancement.

Statement execution flow and query optimization

If a Statement is newly created for each request or the execution plan is not recycled, the DB load can increase rapidly. Analyze Hibernate's Statement creation and caching flow, execution plan optimization structure, and learn strategies to improve query execution efficiency.

Strategies that affect bulk processing and query performance

Hibernate has a large performance difference depending on the strategy for bulk processing or related entity retrieval. Learn about batching, fetching, DTO projection, cache hierarchy, etc. according to the practical flow, and learn how to stably control the number of queries and processing speed even when the amount of data is large.

Transactions and locking strategies for concurrency control

When concurrency issues occur in a multi-threaded environment, data integrity can be broken if transactions or locks are used incorrectly. Learn about Hibernate's transaction processing structure and pessimistic/optimistic locking strategies, and provide judgment criteria that can be applied effectively in practice.

Learning Materials

  • 46, and 1025 pages of PDF presentation materials are provided.

  • All source code is available in a GitHub repository , which you will set up yourself during the course and use as your learning environment for JPA or Hibernate.

Recommended for
these people

Who is this course right for?

  • People using JPA, Hibernate, etc., but wanting to utilize them better.

  • Those who use JPA, Hibernate, etc., but want to analyze the internal structure and deepen their fundamental understanding

  • Those who want to learn how to solve performance issues occurring in the Java Data Access layer in a practical environment

Need to know before starting?

  • JAVA language

  • Basic knowledge of relational database

  • JPA

Hello
This is

1,254

Learners

74

Reviews

4.5

Rating

2

Courses

My name is Vlad Mihalcea, and I’m a Java Champion. I wrote the High-Performance Java Persistence book, which became one of the best-selling Java books on Amazon.

I'm currently developing the amazing Hypersistence Optimizer, and in my free time, I develop various open-source projects (e.g., Hypersistence Utils and FlexyPool) and answer questions on StackOverflow.

I am a Java Champion and a major contributor to the Hibernate ORM project. I created the Hypersistence Optimizer tool, which scans application configurations and mappings to identify the changes needed to speed up the data access layer.

Earned gold badges on StackOverflow by answering thousands of questions related to Hibernate, Java, and JPA tags.

When he finds something interesting, he enjoys sharing it on his personal blog. He believes in open-source software and thinks every developer should contribute in some way.

If he cannot find the right tool, he even starts new open-source projects such as Hypersistence Utils or FlexyPool.

Curriculum

All

50 lectures ∙ (10hr 42min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

43 reviews

4.2

43 reviews

  • jiggyjiggy님의 프로필 이미지
    jiggyjiggy

    Reviews 6

    Average Rating 5.0

    5

    6% enrolled

    I knew there were lectures by Vlad, but I hesitated because I'm not good at English. I don't know when Vlad learned Korean, but thank you for sharing your knowledge in Korean... It seems to be well-structured with high density. I will study the rest thoroughly.

    • vladmihalcea
      Instructor

      Thanks to Inflearn, the course is now available in Korean as well.

  • immenseehorban3732님의 프로필 이미지
    immenseehorban3732

    Reviews 6

    Average Rating 5.0

    5

    98% enrolled

    A well-organized lecture. It clearly explains the queries of JPA and Hibernate. It's well-organized in how to test performance and which implementation methods are better accordingly. It felt like it neatly organized and tied together knowledge that was scattered all over the place.

    • vladmihalcea
      Instructor

      I'm glad you liked the course structure.

  • hahahl님의 프로필 이미지
    hahahl

    Reviews 56

    Average Rating 5.0

    5

    10% enrolled

    I'm taking the JPA course after the SQL one, and as expected, the quality of the lectures is undeniably excellent!

    • vladmihalcea
      Instructor

      제 강좌를 좋게 봐주셔서 감사합니다.

  • tjsahr9191님의 프로필 이미지
    tjsahr9191

    Reviews 30

    Average Rating 5.0

    5

    22% enrolled

    They explain things really deeply. I'll enjoy the rest of the lectures!

    • vladmihalcea
      Instructor

      I'm glad my explanations were clear, and thank you for taking this course.

  • limeade님의 프로필 이미지
    limeade

    Reviews 13

    Average Rating 5.0

    Edited

    5

    50% enrolled

    It was great to learn through detailed concepts and hands-on practice! In particular, the differences and application methods for various DBMSs are well explained.

$176.00

Vlad Mihalcea's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!