More than half of the Java projects today are storing their data using JPA (link).
Despite this huge popularity most developers never really dive deep into the best practices and pitfalls of Hibernate. But that’s OK. Until you face performance issues. Only then do you realize that the complexity of an ORM exceeds that of any other mainstream framework, Spring included. And so, 1 year (or more) after the project started, you have to really start learning thoroughly the mechanics of JPA, in order to locate and fix the bottleneck.
But perhaps your journey is not that dramatic. Perhaps you just want to master the lightsaber (JPA) that you have on your project, without cutting any living tissue in the process🥩. If you want to fine-tune your JPA skills, please be welcomed, along with any questions you might have.
⚠ If you cannot attend the live webinar, please make sure you email me all your questions after watching the recording.
This training is for developers with prior practical experience with JPA/Hibernate, ideally in real-world projects. If you never persisted or queried an Entity to a database, this training is probably NOT suited for you - please check out other online training resources for the basics (pluralsight, coursera, udemy...).
This 3.5 hours live-webinar will take place on Jan 18th 2022, between 14:00 - 17:30 Bucharest time (click here to convert it to your timezone)
Agenda
- Lazy-loading and its perils
- The best way to fix the N+1 queries problem
- Paginated Queries and the driving-query technique
- Selecting DTOs with JPQL
- Wrapping native queries with Entity-view or @Subselect
- Fetch Graphs and Spring Projections
- Tuning fetch_size
- Streaming Queries
- Designing entities for best performance
- Using 2nd Level Cache for static data
- 5 styles to write dynamic queries
What to expect?
The training is 80% live-coding, experimenting, discussing alternative approaches, and optimizing our queries by inspecting the executed SQL statements. We will also have a handful of unit tests that we’ll aim to keep green as we tune the performance. Any complex concept we face will be captured in high-density slides that you can later use for reference, packed with links to make it easier to further research any idea you find interesting.
After following this workshop you’ll acquire solid knowledge about the mainstream best practices of using JPA to read data, understand the behavior of Hibernate, and learn to avoid many common performance pitfalls.
After the purchase you will get: the video recording, all the slides, and the code zipped together with Git commit history. Starting from the commits we’ll leave behind, you will be able to re-do and further explore any step of our journey (the best learning happens this way). The unit tests we have in place will make it very easy for you to run the code on your machine. If you encounter any issues, please don't hesitate to contact me.
This Training is for you because:
- You are working with JPA on your project but it intrigues you, as its behavior often surprised you
- You suspect JPA causes performance issues while reading data on your project
- You want to write efficient and elegant code with Hibernate.
Prerequisites:
- Practical experience with Hibernate/JPA is highly recommended.
- (ideally) previous contact with tuning Hibernate performance
Technical Requirements
The webinar will take place on Zoom, so for best experience please have the app installed on your machine. For high-quality audio, please use a wired internet connection.
To perform the exercises yourself, you will need a Java 11+ SDK installed (latest Oracle JDK will do), a decent IDE, and access to GitHub and Maven Central.
Course Curriculum
Trainer: Victor Rentea
Victor Rentea is a Java Champion, Associate Professor and Technical Trainer writing code for over two decades in many languages.
He is training developers since 2012, having developed an extensive curriculum that covers most of the software engineering best practices and typical Java-stack development. By now he trained over 2000 developers in 40+ companies, and you can read dozens of their recommendations on LinkedIn, Facebook, and on victorrentea.ro.
Victor is best known for the energy of his talks, many ranked among the best 3 at their conference. You can expect a similar style for any training he gives while explaining complex concepts in simple, easy to remember terms. If you want to keep close, you can join the Software Craftsmanship Community he founded in Romania or follow him on LinkedIN, Twitter, or Facebook.
Frequently Asked Questions
Can I get an invoice for my company (VAT-free)?
To add the VAT code of your company to the checkout page and remove the VAT taxes, follow these simple steps.
Can I ask questions after I watch the recording?
PLEASE DO! Email me your questions, no matter how silly or complex you may think they are. I'd be glad to help, so don't hesitate to contact me.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Can I have this training for more of my colleagues?
There are two ways I can help you:
- For 5+ developers, contact me for a discount and a company invoice
- For 10+ developers or for a longer in-depth session, contact me for a dedicated webinar for your company.