Narendra Dhami

My Site

iBATIS, Hibernate, and JPA: Which is right?

Posted by Narendra Dhami on July 28, 2008

Object-relational mapping in Java is a tricky business, and solutions like JDBC and entity beans have met with less than overwhelming
enthusiasm. But a new generation of ORM solutions has since emerged. These tools allow for easier programming and a closer
adherence to the ideals of object-oriented programming and multi-tiered architectural development. Learn how Hibernate, iBATIS,
and the Java Persistence API compare based on factors such as query-language support, performance, and portability across
different relational databases.

In this article we introduce and compare two of the most popular open source persistence frameworks, iBATIS and Hibernate. We also discuss the Java Persistence API (JPA). We introduce each solution and discuss its defining qualities, as well as its individual strengths and weaknesses
in broad application scenarios. We then compare iBATIS, Hibernate, and JPA based on factors such as performance, portability,
complexity, and adaptability to data model changes.

If you are a beginning Java programmer new to persistence concepts, reading this article will serve as a primer to the topic
and to the most popular open source persistence solutions. If you are familiar with all three solutions and simply want a
straightforward comparison, you will find it in the section “Comparing persistence technologies.”

Understanding persistence

Persistence is an attribute of data that ensures that it is available even beyond the lifetime of an application. For an object-oriented
language like Java, persistence ensures that the state of an object is accessible even after the application that created
it has stopped executing.

More …


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: