Thorben Janssen
banner
thjanssen123.bsky.social
Thorben Janssen
@thjanssen123.bsky.social
I'm a freelance consultant and trainer helping Java developers create better persistence layers using Hibernate and Spring Data.
Co-organizer JUG Paderborn

https://thorben-janssen.com
https://thorben-janssen.com/join-persistence-hub/
Reposted by Thorben Janssen
JUnit is undoubtedly one of the most important projects in the #Java ecosystem. And it's 100% free and open!

Let me be frank: If we can't get THIS project to the point where a single maintainer can focus on it, then what does that say about our commitment to Free & Open Source Software?

1/3 ⏩
Support JUnit
JUnit is maintained by a team of passionate volunteers. This is your chance to give back and support the project!
steady.page
November 26, 2025 at 11:29 AM
Pagination looks simple until your data set grows.

Spring Data JPA makes the common case easy, but the default offset pagination can become slow when you move deeper into a large result set.

That's when keyset pagination gets interesting.

I show you both in:
thorben-janssen.com/offset-and-k...
Offset and Keyset Pagination with Spring Data JPA - Thorben Janssen
Pagination is a common and easy approach to ensure that huge result sets don’t slow down your application. The idea is simple. Instead of fetching the entire result set, you only fetch the subset you ...
thorben-janssen.com
November 26, 2025 at 1:56 PM
Reposted by Thorben Janssen
New pre-conference workshop for Spring I/O 2026! 🎉

"Spring Data JPA Auditing Made Easy with Hibernate Envers" with @thjanssen123.bsky.social

Learn how to add reliable, fully automated auditing to your Spring applications without boilerplate code.

👉 2026.springio.net/workshops/sp...
November 26, 2025 at 11:47 AM
Reposted by Thorben Janssen
JSON is the go-to format for LLM tool responses, but alternatives like TOON, XML, CSV, YAML can potentially improve token efficiency and performance.
Find how to configure #SpringAI tool responses formats and optimize for your use case:
spring.io/blog/2025/11...
@spring-ai.bsky.social
November 25, 2025 at 9:03 AM
Reposted by Thorben Janssen
On behalf of the team and everyone who has contributed, I'm happy to announce that Spring Boot 3.4.12 has been released and is now available from Maven Central.

spring.io/blog/2025/11...

#java #spring #springboot @spring.io
Spring Boot 3.4.12 available now
Level up your Java code and explore what Spring can do for you.
spring.io
November 20, 2025 at 11:40 AM
Reposted by Thorben Janssen
💡#SpringAI in der Praxis:
RAG, #MCP & LLM-Evaluation mit @thjanssen123.bsky.social. Lerne, wie Du robuste #LLM -Funktionen baust!

📅#jaxcon 2026 | 4. – 8. Mai | Mainz oder Online

ℹ️Session: https://f.mtr.cool/tvthjnvuws

🎟️Early Bird: https://f.mtr.cool/ihburzxkuo
November 20, 2025 at 12:01 PM
Reposted by Thorben Janssen
🤖⚖️ LLM-as-a-Judge with #SpringAI

Evaluating LLM output is challenging. Traditional metrics fall short, and human evaluation doesn't scale.
LLM-as-a-Judge uses LLMs to evaluate AI-generated content, matching human judgment

📖 spring.io/blog/2025/11...
🛠️ github.com/spring-proje...
November 10, 2025 at 10:17 AM
Everything prepared for my 1st talk today: What's new in Hibernate 7 at #WJAX @jaxkonferenz.bsky.social
November 4, 2025 at 9:15 AM
Was a pleasure speaking at JUG Munich tonight.
The recording should show up on YouTube in a week or so (that's what @thejavaguy.bsky.social told me 😁)
Another exciting evening at #JUG Munich! @thjanssen123.bsky.social showed us all the goodies of #Spring AI and how we can integrate it into own applications. It's already production-ready with a lot of potential for future growth. My key takeaways 👇
November 3, 2025 at 9:51 PM
Reposted by Thorben Janssen
Workshoptag auf der W-JAX:
🧩 Modularisierung oder Microservices? – @ewolff.com
☕ Java 25 LTS – Michael Inden
🤖 Spring AI – @thjanssen123.bsky.social
Drei Wege zu smarter, moderner Softwareentwicklung.
#jaxcon #Java #Spring #SoftwareArchitecture
November 3, 2025 at 3:22 PM
This was a fun conversation, not only about Java persistence but also about common challenges when developing modern applications and choosing frameworks.
Thanks so much for having me, Marco.
Hibernate or jOOQ? Spring Data JPA or plain SQL? @thjanssen123.bsky.social joins Marco to unpack the hard parts of Java persistence — learning SQL the right way, avoiding production bottlenecks, and making the frameworks work for you.

Watch the full episode → youtu.be/t4h6l-HlMJ8
October 29, 2025 at 4:55 PM
Reposted by Thorben Janssen
We've published a new installment of our "Road to GA" blog series. This time it's about the huge modularization effort the Spring Boot team has done and which is coming in Spring Boot 4: spring.io/blog/2025/10...

#java #spring #springboot
Modularizing Spring Boot
Level up your Java code and explore what Spring can do for you.
spring.io
October 28, 2025 at 3:47 PM
Get a better understanding of how LLMs work (and are built):
Stanford published recordings of their Language Modeling from Scratch course on YouTube: www.youtube.com/playlist?lis...

Course materials contain maaany links to dive deeper or get a general understanding of different terms and concepts
Stanford CS336 Language Modeling from Scratch I 2025 - YouTube
Language models serve as the cornerstone of modern natural language processing (NLP) applications and open up a new paradigm of having a single general purpo...
www.youtube.com
October 28, 2025 at 10:38 AM
Reposted by Thorben Janssen
Von 0 auf #SpringAI 
@thjanssen123.bsky.social zeigt auf der #jaxcon, wie Du #AI in bestehende Anwendungen integrierst, Daten bereitstellst & Agenten gezielt nutzt.

📅4.11. | 15:30 | 📍München 

🔗Session Infos: https://f.mtr.cool/bpgewlkird
❗Letzte Ticket-Chance: https://f.mtr.cool/eafbhoohyb

#Java
October 21, 2025 at 7:06 AM
Reposted by Thorben Janssen
🚀 Lerne auf der #jaxcon, wie Du AI in Deine Spring-Anwendungen integrierst!
Im Workshop mit @thjanssen123.bsky.social entwickelst Du smarte Apps mit Spring Boot & Spring AI.

📅 03.11. | München | Wenige Plätze!
🔗https://f.mtr.cool/sivkwsehst

#Spring #AI #Java #jaxcon
October 16, 2025 at 9:03 AM
On my way to @javaforumnord.bsky.social in Hannover.

Looking forward to many good conversations and presenting 2 talks:
14:00 Jakarta Data - Was ist das denn?
16:00 Hibernate 7 - Was ist neu?

If you're there, make sure to say hi!
September 16, 2025 at 6:41 AM
About to go live at betterCode() Spring with my talk "Todesursache: Spring Data JPA"/"Cause of Death: Spring Data JPA"

You can find the examples on GitHub: github.com/Persistence-...
June 3, 2025 at 12:10 PM
About to go live at betterCode() Spring with my talk "Todesursache: Spring Data JPA"/"Cause of Death: Spring Data JPA"

You can find the examples on GitHub: github.com/Persistence-...
June 3, 2025 at 12:02 PM
Reposted by Thorben Janssen
🍃 Cause of Death: Spring Data JPA by @thjanssen123.bsky.social @ Spring I/O 2025

▶️ Video: youtu.be/AF9RAgGN5CM

🔗Slides: 2025.springio.net/slides/cause... #springio25
Cause of Death: Spring Data JPA by Thorben Janssen @ Spring I/O 2025
YouTube video by Spring I/O
youtu.be
June 2, 2025 at 9:41 PM
Hibernate Envers is the easiest option for adding an audit log to your application if you already use #Hibernate ORM.

It takes you less than 5 minutes to add it to your project, create your audit table model, and activate auditing for your entity classes.

www.youtube.com/watch?v=v3--...
Hibernate Envers: Get started in less than 9 minutes
YouTube video by Thorben Janssen
www.youtube.com
January 23, 2025 at 4:48 PM
This week, I'm thrilled to welcome Greg Turnquist to the Persistence Hub to discuss working with distributed databases.

www.youtube.com/watch?v=7JYe...

He explained the ideas behind distributed databases, the scenarios in which you want to use one and what you're getting yourself into if you do
Working with a Distributed Database with Greg Turnquist
YouTube video by Thorben Janssen
www.youtube.com
January 21, 2025 at 10:21 AM
Reposted by Thorben Janssen
GitHub Actions now supports 5 platforms to compile native code to: Linux Intel/Arm, Osx Intel/Arm, and Windows Intel 🎉

And you can use @jreleaser.org across all to release your project, no matter the source language 🚀
January 16, 2025 at 9:19 PM
Writing an efficient persistence layer with #Hibernate (or Spring Data JPA) is simple and complicated.

You "only" have to avoid common pitfalls and follow best practices.

But there are many and not all fit every situation.

Here's what you need to know:
thorben-janssen.com/hibernate-pe...
Hibernate Performance Tuning - 2025 Edition
Unlock Hibernate's best performance by following these best practices for efficient mappings and fast queries.
thorben-janssen.com
January 15, 2025 at 9:36 AM
Reposted by Thorben Janssen
#Java 24 will enter ramp-down phase 1 later today and its feature set is set in stone. And its a lot! Here's the first half - language and API changes:

www.youtube.com/watch?v=yntT...
Java 24 Language & API Changes - Inside Java Newscast #81
YouTube video by Java
www.youtube.com
December 5, 2024 at 7:11 AM
Mapping ZonedDateTime and OffsetDateTime with Hibernate can be an issue. Not all databases support TIMESTAMP_WITH_TIMEZONE, and Hibernate has to convert it.

Starting with version 6, you can decide how to handle the timezone information by providing a TimeZoneStorageType.

These are your options:
December 4, 2024 at 3:11 PM