Speaker Topics - No Fluff Just Stuff

Hibernate Performance Tuning

This presentation will cover a selection of strategies for improving performance of Hibernate-based applications, ranging from reducing the number of queries executed to using caching effectively to avoid queries altogether.

Hibernate is a powerful Object/Relational Mapping tool that lets you work with rich object-oriented domain models and persist those model objects easily. But developers who assume Hibernate will magically solve all database-related problems are usually surprised when they realize that like all sharp tools you need to understand the mechanics of Hibernate's interaction with the database in order to deal effectively with performance problems of excessive queries due to lazy loading, the “N + 1” selects problem, and ineffective caching.

This presentation will cover a selection of strategies for improving performance of Hibernate-based applications starting by reducing the number of database queries. We will also cover how to choose the right inheritance mapping strategy and how performance is affected; caching effectively using the Hibernate second-level cache; and looking at several tools you can use to monitor and profile Hibernate to measure effectiveness of tuning. We'll even see a few tricks that Hibernate currently doesn't implement by looking at ActiveRecord, Ruby on Rails' ORM solution. These strategies will also apply, with a few exceptions, to any JPA persistence provider.


About Scott Leberknight

Scott is Chief Architect at Near Infinity Corporation, an enterprise software development and consulting services company based in Reston, Virginia. He has been developing enterprise and web applications for 14 years professionally, and has developed applications using Java, Ruby, Groovy, and even an iPhone application with Objective-C. His main areas of interest include alternative persistence technologies, object-oriented design, system architecture, testing, and frameworks like Spring, Hibernate, and Ruby on Rails. In addition, Scott enjoys learning new languages to make himself a better and more well-rounded developer a la The Pragmatic Programmers' advice to “learn one language per year.”

Scott holds a B.S. in Engineering Science and Mechanics from Virginia Tech, and an M. Eng. in Systems Engineering from the University of Maryland. Scott speaks at the No Fluff Just Stuff Symposiums and various other conferences. In his (sparse) spare time, Scott enjoys spending time with his wife, three children, and cat. He also tries to find time to play soccer, go snowboarding, and mountain bike whenever he can.

More About Scott »