
A Bootiful Podcast Spring community legend and friend Simon Martinelli
Nov 27, 2025
Simon Martinelli, a seasoned Swiss software engineer and celebrated JavaChampion, shares his extensive experience in software development. He delves into why he favors SQL and jOOQ for its compile-time safety, highlighting jOOQ features like multiset support and dialect portability. The conversation explores generation of schema types using Testcontainers, the advantages of Vaadin for server-side UI, and the concepts of self-contained systems versus microservices. Simon also touches on leveraging AI in development while ensuring human oversight.
AI Snips
Chapters
Transcript
Episode notes
Compile-Time SQL With jOOQ
- jOOQ gives compile-time checked SQL by generating Java types from the database schema.
- This prevents runtime SQL errors and lets you safely evolve schema and queries together.
Automate jOOQ Generation In Build
- Integrate jOOQ generation into your build using Testcontainers to spin up the DB and apply migrations before generating types.
- This ensures generated types always match your Flyway/Liquibase-managed schema and stay reproducible.
Server-Driven UI With Vaadin Flow
- Vaadin Flow lets Java developers build single-page apps without writing HTML/CSS/JS by running UI logic server-side.
- This model reduces REST surface area and common client-side security/validation duplication.
