O/R Mapper

Data Driven Performance Problems are Not Always Related to Hibernate

Update Jan 21, 2016: You can now test all this on your own application FOR FREE – FOR LIFE. Get your Dynatrace Personal License and Watch our YouTube Tutorials Data-driven performance problems are not new. But most of the time it’s related to too much data queried from the database. O/R mappers like Hibernate have been a very good source for problem pattern blog posts in the past. read more

Beyond Persistence – How to Exploit Your Database for Better Performance

This post is contributed by Asad Ali – Enablement Services Consultant at dynaTrace. Based on his experience with numerous customers he describes how to optimize the data access layer of applications by “violating” a paradigm that is often referred to as a golden rule for designing applications. Before the advent of the 3-tier architecture, client server technology was prevalent. In the client-server architecture, the databases played an important role… read more

How Database Queries Slow Down Confluence User Search

We are using Confluence for both our internal Wiki as well as for our external Community Portal. I just came across a very nasty performance bug in the version we are running on our external system. We run 3.2 and the User Search Feature keeps me waiting several minutes each time I search for users. I analyzed the problem and want to give some answers to… read more

JPA Under The Hood – Understanding the Dynamics of Your JPA Framework

I recently gave a talks on the behaviour of different JPA frameworks at W-JAX(Germany) and TheServerSide Java Symposium (Prague). As some people have asked me, I am publishing the samples as well. I would also give away the eclipse project, however with all the third party libraries I am sure I will end up not doing it legally correct. Additionally I… read more

Understanding Caching in Hibernate – Part One : The Session Cache

Update Jan 21, 2016: You can now test all this on your own application FOR FREE – FOR LIFE. Get your Dynatrace Personal License and Watch our YouTube Tutorials Hibernate offers caching functionality which is designed to reduces the amount of necessary database access.  This is a very powerful feature if used correctly. However I have seen a lot of cases and… read more

Lazy vs. Eager Loading in Hibernate

I recently gave a presentation at Jax 2008 where I talked about common problems on usage of database technologies and O/R mappers. A general question is on whether to use lazy or eager loading. Generally lazy loading provides advantages as it does not pre fetch all referenced data from the database. However when details are required lazy loading can very easily result in the famous N+1 query problem. The… read more