Extending Spring Data
summary
Built an admin backend that uses Spring Data JPA + Spring Data REST, with modules supplying entity interfaces and a build step that generate JPA classes from interfaces, so repositories must accept interface domain types via a custom RepositoryBeanFactory and alternative domain types. Queries accept OData filters translated by ~700 lines of code to QueryDSL predicates (translate OData to QueryDSL predicates). Projections are generated at runtime (CGlib/ByteBuddy or client-side), JSON Schema drives form metadata, auth uses X-Nemesis-Token headers, and validation is unified to JSR-303 messages. Solr/Elasticsearch limitations remain (no highlights+facets, missing aggregated page).
AI-written summary · about
chapters (14)
- 0:00Introduction
- 1:10Who am I
- 2:52Requirements
- 5:28Extending Spring Data
- 10:06Auditing
- 11:37REST vs HTTP
- 15:28Navigation Menu
- 16:46Projection
- 17:48Course Filter
- 23:28Query DSL
- 28:37Projections
- 33:59JSON Schema
- 38:45Resource Processors
- 41:53Validation
related talks
01h 32mSpring Data Repositories -- A Deep Dive
01h 31mSpring Data REST: Easily export JPA entities directly to the web
50mSpring's unexpected features
39mBeing productive developer using JPA helper libraries
50mSpring Data JPA - The Swiss Army Knife for Data Access
49mUnlocking Data Access Excellence with Jakarta Data
49mPerformance oriented Spring Data JPA & Hibernate
26mUnlocking Data Access Excellence with Jakarta Data
