Seize the deal!
Caching Best Practices
Imagine having a tool that can automatically detect if you are using JPA and Hibernate properly. Hypersistence Optimizer is that tool!
Three years ago, I started working as a Developer Advocate for the Hibernate team at Red Hat.
Each year, I write a new report to summarize the accomplishments for the Hibernate project and its community. If you’re curious about the previous year reports, check out the
Typically, a Developer Advocate does not do lots of development on the platform they are advocating. However, over these 3 years, I’ve been adding many performance optimizations like:
hibernate.connection.provider_disables_autocommitconfiguration for RESOURCE_LOCAL transactions
Apart from new features, I also fixed bugs and integrated Pull Requests from the community. All in all, in these 3 years, I managed to get into the Top 4 contributors for the Hibernate ORM project.
At the beginning of 2018, the Hibernate project got a new Discourse-based forum. The UI is much better than the one offered by the old forum, and you can authenticate with Google, GitHub or Twitter which is very convenient for our users.
The new forum has got more traction than the previous one, so it was a very good move that we migrated to this Discourse-based forum:
One major problem with the Hibernate forum was the lack of activity. There were many unanswered questions prior to joining the team. This is what people used to think about the Hibernate forum in 2015:
That was sad! If you don’t take care of the community, people are going to walk away. After I became a Developer Advocate, I decided to make the forum a priority as the forum’s user statistics confirms it too:
If you have any question about Hibernate and want it to be answered by the actual Hibernate developers, then the Hibernate forum is the right place to ask your question.
Prior to joining the Hibernate team, this is what Java developers used to talk about Hibernate documentation on Reddit:
or mocking on Twitter:
Hibernate docs pic.twitter.com/F6I6izGJPZ— Andrii Rodionov (@AndriiRodionov) April 20, 2016
Again, that was really sad and needed to change!
The new User Guide is light years away from the previous one since I decided to rewrite it from scratch. For instance, nowadays, you can find explanations for every single JPA and Hibernate annotation.
And, all the hard work paid off!
I like the changes in the @Hibernate docs (ORM and Search) a lot.— Michael Simons (@rotnroll666) September 15, 2017
This year, I’m happy Spring 5.1 extended the previous read-only transaction optimization to deallocate the entity detached state as soon as possible. For more details, check out this article.
As I Developer Advocate, I want Spring and Hibernate to work as best as possible because the vast majority of Spring users are also our users.
All in all, I think that improving our collaboration with the Spring team has also paid off:
I submitted this Pull Request which should fix HHH-10778. If it gets integrated, it will be available in 5.4. https://t.co/FYWsqk8w98— Vlad Mihalcea (@vlad_mihalcea) November 29, 2018
In 2018, I talked about Hibernate and Data Acess best practices at various conferences:
Check out these presentations for more details about these talks.
The GitHub stars graph shows a 20% increase over the last year:
The red arrow shows the date when I got hired. The happier the community, the more successful a software project becomes.
This is how the Hibernate Twitter stats page looks now:
From around 8200 followers at the end of 2017, we now have over 11.5k Twitter followers. Thanks for following the Hibernate project!
All in all, working as a Developer Advocate is a great journey, and I’m looking forward to the next year to come. Stay tuned for more great content about your favorite Java data access framework and JPA provider.
Hypersistence Optimizer 2.2 has been released!