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/

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

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

Ivan Milosavljević@thejavaguy.bsky.social · 11mo ago

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 👇

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.

IntelliJ IDEA, a JetBrains IDE@intellijidea.com · 11mo ago

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

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

youtube.com

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

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:

Ladies & gents, I'll make 2025 the year when I visit as many JUGs as I can, coinciding with the 30th anniversary of Java, why not? I may not travel alone, will surely bring a couple of friends from the #Java community that can delight you with great content as well. Let me know if interested 🤩