The best way to handle time zones in a Java web application
Introduction In this article, I’m going to show you what is the best way to handle time zones when developing a Java web application. I applied all these best practices while developing RevoGain, a web application that allows you to calculate the gains you realized while trading stocks, commodities, or crypto using Revolut.
Keyset Pagination with Spring
Introduction In this article, I’m going to show you how you can use the Keyset Pagination technique with Spring or Spring Boot. While the default offset-based pagination provided by Spring Data PagingAndSortingRepository is useful in many situations, if you have a large result set that you have to iterate over, then the Keyset Pagination or Seek Method technique provides better performance.
The best way to write a custom Spring Data Repository
Introduction In this article, I’m going to show you the best way to write a custom Spring Data Repository. While the default JpaRepository methods, as well as the query methods, are very convenient in many situations, there might be times when you need custom Repository methods that can take advantage of any JPA provider-specific functionality.
RevoGain Software Architecture
Introduction In this article, I’m going to show you the RevoGain software architecture. RevoGain is a web application that helps Revolut users calculate their stocks and crypto trading gains, and I started building it at the beginning of September 2021.
How to map polymorphic JSON objects with JPA and Hibernate
Introduction In this article, I’m going to show you how you can map polymorphic JSON objects when using JPA and Hibernate. Since Hibernate doesn’t support JSON natively, I’m going to use the Hypersistence Utils library to achieve this goal.
Hibernate Batch Sequence Generator
Introduction In this article, I’m going to introduce the Hibernate Batch Sequence Generator implementation that’s provided by Philippe Marschall to the Hypersistence Utils project