The Complexity of JPA
JPA is the standard API for persisting data in Java to a relational database. Spring Data JPA is the most popular Spring Data module. But is it really the smart choice? JPA comes with significant inherent complexity resulting in unexpected behavior.
We will look at various examples, explain why they behave as they do, and how that is coupled to the design choices made by JPA. We will also examine how different design choices lead to much simpler behavior with Spring Data JDBC.