Advertisement · 728 × 90

Posts by Thorben Janssen

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

3 months ago 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 ⏩

4 months ago 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...

4 months ago 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...

4 months ago 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

4 months ago 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

5 months ago 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

5 months ago 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...

5 months ago 9 4 1 0
Post image

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

5 months ago 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 😁)

5 months ago 2 0 0 0
Advertisement
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

5 months ago 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.

5 months ago 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

5 months ago 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

5 months ago 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

6 months ago 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

6 months ago 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!

7 months ago 3 0 0 0
Advertisement
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-...

10 months ago 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-...

10 months ago 0 0 0 0
Cause of Death: Spring Data JPA by Thorben Janssen @ Spring I/O 2025
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 @thjanssen123.bsky.social @ Spring I/O 2025

▶️ Video: youtu.be/AF9RAgGN5CM

🔗Slides: 2025.springio.net/slides/cause... #springio25

10 months ago 6 1 0 0
Hibernate Envers: Get started in less than 9 minutes
Hibernate Envers: Get started in less than 9 minutes YouTube video by Thorben Janssen

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

1 year ago 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...

1 year ago 0 0 0 0
Working with a Distributed Database with Greg Turnquist
Working with a Distributed Database with Greg Turnquist YouTube video by Thorben Janssen

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

1 year ago 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 🚀

1 year ago 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...

1 year ago 1 0 0 0
Java 24 Language & API Changes - Inside Java Newscast #81
Java 24 Language & API Changes - Inside Java Newscast #81 YouTube video by Java

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

1 year ago 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...

1 year ago 1 0 0 0
Advertisement

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

1 year ago 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

1 year ago 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.

1 year ago 0 0 1 0