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. Last week I got to … 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 for … 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 folks that have similar … 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 can add some comments on the samples and why … read more

JPA Frameworks under the Hood @ TheServerSide Prague

For all attending TheServerSide Symposium in Prague. I will present on JPA Frameworks details relevant to O/R Mapper Performance. This talk is an extension to my blog posts on Hibernate caching. As an appetizer the session abstract: Persistence frameworks or object/relational mappers have become a central part in today’s application architectures. While they make development easier, they can also be the cause of inefficient code and performance and scalability problems. … read more

Understanding Caching in Hibernate – Part Three : The Second Level Cache

Update Nov 27, 2014: You can now test all this on your own application. Download Dynatrace Free Trial and Watch our YouTube Tutorials In the last posts I already covered the session cache as well as the query cache. In this post I will focus on the second-level cache. The Hibernate Documentation provides a good entry point reading on the second-level cache. The key characteristic of the second-level cache is … read more

Understanding Caching in Hibernate – Part Two : The Query 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 In the last post I wrote on caching in Hibernate in general as well as on the behavior of the session cache. In this post we will have a closer look at the QueryCache. I will not explain the query cache in details as … 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 also talked to many people on caching in Hibernate, where caching … 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 image … read more