EasyJPA: Criteria API Power in Three Lines, Not Thirty
Type-safe dynamic queries for Spring Data JPA, every condition a method reference, every join a name, not a single JPQL string. Joins, subqueries, grouping, pagination, updates and native SQL all compose in one chain you read top to bottom.