Thorben Janssen's Avatar

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/

296 Followers  |  191 Following  |  22 Posts  |  Joined: 09.10.2024
Posts Following

Posts by Thorben Janssen (@thjanssen123.bsky.social)

Post image

Spring AI in echt – nicht nur Demo! πŸ€–
@thjanssen123.bsky.socialΒ zeigt, wie RAG, MCP & LLM-Evaluation robuste & verlΓ€ssliche AI-Features ermΓΆglichen.
πŸ‘‰ https://f.mtr.cool/esnqjhfljs

#jaxcon #SpringAI #Java

15.01.2026 09:50 β€” πŸ‘ 3    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Support JUnit JUnit is maintained by a team of passionate volunteers. This is your chance to give back and support the project!

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 ⏩

26.11.2025 11:27 β€” πŸ‘ 69    πŸ” 47    πŸ’¬ 1    πŸ“Œ 3
Preview
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 ...

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...

26.11.2025 13:56 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

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...

26.11.2025 11:47 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Post image

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

25.11.2025 09:03 β€” πŸ‘ 8    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0
Preview
Spring Boot 3.4.12 available now Level up your Java code and explore what Spring can do for you.

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

20.11.2025 11:40 β€” πŸ‘ 10    πŸ” 4    πŸ’¬ 2    πŸ“Œ 0
Post image

πŸ’‘#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

20.11.2025 12:01 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

πŸ€–βš–οΈ 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...

10.11.2025 10:17 β€” πŸ‘ 9    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0
Post image

Everything prepared for my 1st talk today: What's new in Hibernate 7 at #WJAX @jaxkonferenz.bsky.social

04.11.2025 09:15 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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 😁)

03.11.2025 21:51 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image Post image

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

03.11.2025 15:22 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

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.

29.10.2025 16:55 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Modularizing Spring Boot Level up your Java code and explore what Spring can do for you.

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

28.10.2025 15:47 β€” πŸ‘ 35    πŸ” 19    πŸ’¬ 2    πŸ“Œ 0
Preview
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...

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

28.10.2025 10:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

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

21.10.2025 07:06 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Post image

πŸš€ 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

16.10.2025 09:03 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Post image

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!

16.09.2025 06:41 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Image of a prepared speaker set up with a microphone and the title slide of the presentation "Cause of Death: Spring Data JPA"

Image of a prepared speaker set up with a microphone and the title slide of the presentation "Cause of Death: Spring Data JPA"

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-...

03.06.2025 12:10 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Image of a prepared speaker set up with a microphone and the title slide of the presentation "Cause of Death: Spring Data JPA"

Image of a prepared speaker set up with a microphone and the title slide of the presentation "Cause of Death: Spring Data JPA"

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-...

03.06.2025 12:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Cause of Death: Spring Data JPA by Thorben Janssen @ Spring I/O 2025
YouTube video by Spring I/O Cause of Death: Spring Data JPA by Thorben Janssen @ Spring I/O 2025

πŸƒ 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

02.06.2025 21:41 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Hibernate Envers: Get started in less than 9 minutes
YouTube video by Thorben Janssen Hibernate Envers: Get started in less than 9 minutes

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--...

23.01.2025 16:47 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Persistence Hub The Persistence Hub is the quickest way to get your Java persistence skills to the next level! Get access to courses, live events a supportive community.

You can watch Greg's entire session in the Persistence Hub:
thorben-janssen.com/join-persist...

21.01.2025 10:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Working with a Distributed Database with Greg Turnquist
YouTube video by Thorben Janssen Working with a Distributed Database with Greg Turnquist

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

21.01.2025 10:21 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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 πŸš€

16.01.2025 21:19 β€” πŸ‘ 13    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0
Preview
Hibernate Performance Tuning - 2025 Edition Unlock Hibernate's best performance by following these best practices for efficient mappings and fast queries.

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...

15.01.2025 09:36 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Java 24 Language & API Changes - Inside Java Newscast #81
YouTube video by Java Java 24 Language & API Changes - Inside Java Newscast #81

#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...

05.12.2024 07:11 β€” πŸ‘ 40    πŸ” 11    πŸ’¬ 2    πŸ“Œ 0
Preview
Date and Time Mappings with Hibernate and JPA Databases and Java support various data types for date and time information. With Hibernate and JPA you can map almost all of them. Let me show you how.

And here's an article that goes deeper into Hibernate's and Jakarta Persistence's mapping of dates and timestamps:
thorben-janssen.com/hibernate-jp...

04.12.2024 15:11 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

TimeZoneStorageType.DEFAULT:

Introduced as the new default in Hibernate 6.2.

Depends on the database dialect:
TimeZoneStorageType.NATIVE if dialect supports TIMESTAMP_WITH_TIMEZONE
TimeZoneStorageType.NORMALIZE_UTC if dialect doesn't support TIMESTAMP_WITH_TIMEZONE

04.12.2024 15:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

TimeZoneStorageType.AUTO:

Depends on the database dialect:
TimeZoneStorageType.NATIVE if dialect supports TIMESTAMP_WITH_TIMEZONE
TimeZoneStorageType.COLUMN if dialect doesn't support TIMESTAMP_WITH_TIMEZONE

04.12.2024 15:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

TimeZoneStorageType.COLUMN:

Hibernate stores the timestamp without timezone information and the timezone’s offset to UTC in separate database columns.

Don't use it for future timestamps because timezone rules can change.

04.12.2024 15:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0