~/devreads

#spring data

7 posts

26 Sept 2024

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can generate Keyset Pagination queries with the Spring Data WindowIterator utility. This is an alternative to the Blaze Persistence solution I documented in this article. Domain Model Considering we have the following PostComment entity that has both a createdOn and a monotonically increasing id: As I explained in this…

springkeysetpaginationseek methodspring data

19 Aug 2024

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can integrate Jakarta Data with Spring and Hibernate. Jakarta Data is a new Jakarta EE specification that provides a common API for building data Repositories and data access objects. If you are familiar with Spring Data JPA, you will see that Jakarta Data is very much inspired by this…

hibernatespringjakarta datajpaspring data

26 Oct 2023

vladmihalcea 1 min read

Introduction In this article, we are going to see how to cascade DELETE the unidirectional associations with Spring Data JPA when we cannot rely on the CascadeType mechanism that propagates state transitions from parent to child entities. Domain Model Let’s consider we have the following entities in our system: The Post entity is the root of this entity hierarchy, and…

springcascadedeletejpaspring data

11 Oct 2023

28 Mar 2023

vladmihalcea 1 min read

Introduction In this article, we are going to see what is the best way to use the Spring Data JPA Specification when combining multiple predicates with the result set ordering logic. While you can also use query methods or the @Query annotation to define your Spring Data queries, the Spring Data JPA Specification allows you to compose dynamically various filtering…

springjpaspecificationspring data

14 Mar 2023

vladmihalcea 1 min read

Introduction In this article, we are going to see how Spring Data query methods are built, when you should use them, and especially when you should avoid them. I decided to write this article after answering this StackOverflow question, which depicts an 87-character-long Spring Data query method. TL;DR, Don’t write query methods that cannot even fit on the screen. Spring…

springhibernatequeryquery methodspring data

8 Feb 2023

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can achieve fault tolerance in your Spring Data application with the help of YugabyteDB. As previously explained, YugabyteDB is an open-source distributed SQL database that combines the benefits of traditional relational databases with the advantages of globally-distributed auto-sharded database systems. Fault tolerance First, let’s start with the definition of…

databasespringfault tolerancespring datayugabytedb