Overview
Syllabus
00:00 Introduction: From painful early learning to AI-generated annotations
01:02 Meet Thorben Janssen – consultant and trainer for Java persistence
02:11 Early days of Hibernate and the horror of EJB2
04:33 Main challenges in database access today
06:18 Too many tools: Hibernate, JPA, Spring Data, jOOQ – how to choose
08:15 Why understanding ORM internals really matters
09:20 How juniors should start learning persistence
10:59 SQL skills – why you still need them even with Hibernate or Spring Data
13:48 SQL essentials for beginners: what to learn first
16:01 Why Hibernate became the dominant persistence tool
18:57 Hibernate vs JPA – is there really a difference?
20:35 Hibernate API vs Jakarta Persistence API – which to use
22:10 Criteria API and DSLs for queries
23:43 Strengths and weaknesses of Spring Data JPA
27:26 Jakarta Data vs Spring Data JPA
30:53 Stateful vs stateless data models
33:21 jOOQ, Exposed, and the SQL-centric approach
37:41 Mixing Hibernate and Exposed in one project
39:33 Where Spring Data JDBC fits in
43:24 Starting a new project in 2025 – what stack to choose
45:24 The role of experience and not chasing every new trend
48:50 Monoliths, microservices, and common pitfalls
52:14 Database design vs service design – where to start
59:02 Common database performance issues
01:03:10 Why developers should collaborate with DBAs
01:06:20 Caching problems: when caches make things worse
01:09:29 Reactive database access – what happened to the hype
01:12:33 The “perfect” persistence framework – does it exist?
01:14:40 AI-assisted development and query generation
01:19:43 The AI hype cycle and developer reality
01:20:17 Other persistence models worth learning graph, full-text search
01:21:43 Full-text search and graph databases in practice
01:23:25 Integrating AI into applications
01:24:38 Thorben’s unpopular opinions
01:26:04 Giveaway announcement
01:27:06 Rapid-fire round: Paderborn, joins, and lazy loading
01:30:00 Closing remarks
Taught by
IntelliJ IDEA by JetBrains