Maven and Gradle Hibernate Enhance Plugin
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
Introduction
In this article, I’m going to explain how the configure the Maven and Gradle Hibernate Enhance Plugin.
The goal of the Hibernate Enhance plugin is to instrument the JPA entity bytecode in order to improve the effectiveness and efficiency of the associated data access operations.
Hibernate LazyToOne annotation
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
Introduction
In this article, I’m going to explain how the Hibernate LazyToOne annotation works and why you should use NO_PROXY
lazy loading with bytecode enhancement.
Without the LazyToOneOption.NO_PROXY
annotation, the parent-side of a @OneToOne
association is always going to be fetched eagerly even if you set it to FetchType.LAZY
and enabled bytecode enhancement lazy loading.
How to get a JSON property value using PostgreSQL
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
Introduction
In this article, I’m going to explain how you can get a JSON property value using the ->>
PostgreSQL operator. This way, we can transform a JSON object that’s stored in a json
or jsonb
column into a virtual relational database table.
While it’s a good idea to design the database schema according to the relational model, there are also situations when the relational model is way too strict.
For instance, as I explained in this article, when implementing an audit log mechanism using database triggers, it’s very convenient to store the old and new row snapshots in JSON columns, as this strategy will allow future target table structure modifications without having to change the audit table itself. More, when using JSON columns, we can even use a single audit log table to store change events that are coming from multiple tables.
MySQL JDBC Statement Caching
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
Introduction
In this article, we are going to see how we can enable the MySQL JDBC Driver Statement Caching mechanism, which, unfortunately, is not enabled by default.
No matter what data access framework you are using, you still need to configure the JDBC Driver if you want to get the most out of the MySQL database engine.
SQL LATERAL JOIN – A Beginner’s Guide
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
Introduction
In this article, we are going to see how the SQL LATERAL JOIN works, and how we can use it to cross-reference rows from a subquery with rows in the outer table and build compound result sets.
A LATERAL join can be used either explicitly, as we will see in this article, or implicitly as it’s the case for the MySQL JSON_TABLE function.
Percona PMM – A beginner’s guide
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
Introduction
This article is a beginner’s guide for the Percona Monitoring and Management (PMM), a tool that’s very handy when it comes to analyzing a given database system.
PMM was released in 2016, and initially, it was available for MySQL. However, since 2018, it supports monitoring PostgreSQL as well, so once you learn it you can use it with the two most popular open-source relational database systems.
Mapping Java Records to JSON columns using Hibernate
Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Hypersistence Optimizer is that tool!
Introduction
In this article, I’m going to explain how we can map Java Records to JSON columns when using Hibernate.
Because Hibernate ORM does not offer built-in support for JSON, we are going to use the Hiberate Types library, which allows you to map entity attributes to JSON column types, no matter if you are using Oracle, SQL Server, PostgreSQL, or MySQL.