Imagine having a tool that can automatically detect JPA and Hibernate performance issues. Wouldn’t that be just awesome?
Well, Hypersistence Optimizer is that tool! And it works with Spring Boot, Spring Framework, Jakarta EE, Java EE, Quarkus, or Play Framework.
So, enjoy spending your time on the things you love rather than fixing performance issues in your production system on a Saturday night!
Spring Framework has revolutionized the Java Enterprise development, simplifying application testing and allowing flexible cross-cutting concerns using its Aspect-Oriented Programming support.
Here are some articles I wrote that cover various aspects of the Spring framework:
Configuration
- The best way to do the Spring 6 migration
- Spring Boot Application Properties
- Why I like Spring
@Autowired
forList
types - Why I like Spring bean aliasing
- The Builder pattern and the Spring framework
Logging
- Log SQL statements with Spring Boot
- How to find the source of an SQL query generated by Spring Data JPA
- Spring MDC Transaction Logging
Repositories
- The awesome
BaseJpaRepository
from Hypersistence Utils - The best way to write a custom Spring Data Repository
- How to write a custom Spring Data base Repository
- The best Spring Data JpaRepository
- The Spring Data JPA findAll Anti-Pattern
- The Spring Data JPA findById Anti-Pattern
Persistence Context
Queries
- The best way to fetch a Spring Data JPA DTO Projection
- The best way to use Spring Data query methods
- The best way to write a Spring Data Exists Query
- The best way to fix the
MultipleBagFetchException
with Spring Data JPA - The best way to use JOIN FETCH and Pagination with Spring
- The best way to use the Spring Data JPA Specification
- Spring Data Query By Example
- How to fetch multiple JPA collections with Blaze Persistence MULTISET
Pagination
Schema Migrations
Entity Events
- Spring Data Hibernate Entity Listeners
- How to emulate
@CreatedBy
and@LastModifiedBy
from Spring Data using the@GeneratorType
Hibernate annotation
Transactions and Concurrency Control
- Spring Transaction and Connection Management
- The best way to use the Spring Transactional annotation
- Spring Transaction Best Practices
- A beginner’s guide to transaction isolation levels in enterprise Java
- Read-write and read-only transaction routing with Spring
- Spring Data JPA entity locking
Caching
Best Practices
Performance Tuning and Scaling
- Scaling a Spring application with a YugabyteDB cluster
- Spring Boot performance tuning
- Why you should always use
hibernate.connection.provider_disables_autocommit
for resource-local JPA transactions - Spring Boot performance monitoring
- Fault Tolerance with Spring Data and YugabyteDB
- Spring read-only transaction Hibernate optimization
- Tuning Spring Petclinic JPA and Hibernate configuration with Hypersistence Optimizer
Testing
