~/talk

CQRS in the small with Java Records and jOOQ

Talkat Voxxed Days Bucharest 2024 · 2024-03-27..03-29· [databases, java]
slides:none on file

Explains how CQRS maps to a single-database Java app using Java Records for immutable commands, sealed interfaces and pattern matching for exhaustive handlers, and jOOQ to read nested trees with its jOOQ multiset (JSON/JSONB) output instead of Hibernate entities. Demo uses Spring Boot, Flyway, testcontainers, and ~10,000 orders; reads execute as one complex SQL instead of thousands of lazy loads, trading JSONB processing cost for far fewer queries.

AI-written summary · about

  1. 0:00Introduction
  2. 0:28About me
  3. 0:49Presentation
  4. 2:20Mapping Waterfall
  5. 9:26Over fetching
  6. 10:29Under fetching
  7. 11:37CQRS
  8. 14:41Java Records
  9. 16:24Other features
  10. 21:59jOOQ
  11. 22:58compiletime failures
  12. 23:39why CQRS
  13. 25:43how CQRS works
  14. 32:13sample query
  15. 34:22construct query
  16. 37:39conclusion
  17. 43:04unit testing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.