Return-Path: Delivered-To: apmail-ibatis-user-java-archive@www.apache.org Received: (qmail 65801 invoked from network); 18 Dec 2006 18:28:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Dec 2006 18:28:07 -0000 Received: (qmail 40357 invoked by uid 500); 18 Dec 2006 18:28:13 -0000 Delivered-To: apmail-ibatis-user-java-archive@ibatis.apache.org Received: (qmail 40336 invoked by uid 500); 18 Dec 2006 18:28:13 -0000 Mailing-List: contact user-java-help@ibatis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user-java@ibatis.apache.org Delivered-To: mailing list user-java@ibatis.apache.org Received: (qmail 40324 invoked by uid 99); 18 Dec 2006 18:28:13 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Dec 2006 10:28:13 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of nathan.maves@gmail.com designates 66.249.82.234 as permitted sender) Received: from [66.249.82.234] (HELO wx-out-0506.google.com) (66.249.82.234) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Dec 2006 10:28:02 -0800 Received: by wx-out-0506.google.com with SMTP id t14so1466216wxc for ; Mon, 18 Dec 2006 10:27:42 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=jafSqkZSkSqc1XHWJxbmGH5h/NZnmDokohvTrJLSM/yT/9HnM+u8e3rcnOTnQcmAYsolqTXGiyRCWP1782LmnjTKlp+wqeP+D2yuqcfxzxgNBJBMbU9YAsVACSy460bjZVj0/8ELWIddbCITJPjopPegk+DF88KtyM0BYNzMKpg= Received: by 10.70.50.10 with SMTP id x10mr7960997wxx.1166466461465; Mon, 18 Dec 2006 10:27:41 -0800 (PST) Received: by 10.70.76.1 with HTTP; Mon, 18 Dec 2006 10:27:41 -0800 (PST) Message-ID: <2f55db670612181027s553b531ch26e3388d47f01b13@mail.gmail.com> Date: Mon, 18 Dec 2006 11:27:41 -0700 From: "Nathan Maves" To: user-java@ibatis.apache.org Subject: Re: ibatis v hibernate In-Reply-To: <5F0982B1F907684C924DB52F04677125298246@IE10EV801.global.ds.honeywell.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_14539_32003610.1166466461363" References: <16178eb10612160154y7701f76do1a8f72dd5aabe5e5@mail.gmail.com> <5F0982B1F907684C924DB52F04677125298246@IE10EV801.global.ds.honeywell.com> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_14539_32003610.1166466461363 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline These are all great success stories. Coming from someone who has never tried Hibernate I love reading these. What are some thought about putting together a page about IBATIS vs ORM (Hibernate)? Nathan On 12/17/06, Hariharan, Vadivelu (IE10) wrote: > > Here are my cents on Ibatis Vs Hibernate > > > > Background > > --------------------- > > I started with hibernate and have used it extensively right from 1.Xrelease, at that time I had no clue about other popular ORM > > Solutions, until I came across this article on javalobby. > > > > In my organization many projects are using hibernate and they are still in > development stage, we rolled out the first application > > Using Ibatis to production, I just have a single project experience on > Ibatis, but here are my thoughts. > > > > 1. Learning Curve > > To write good code in any technology, you need to be a champion in it, I > have met many developers who know hibernate but not masters in it > > Learning curve with iBatis is the most simplest you can ever think of, you > can jump start as a plain JDBC developer and start with mapping you DAO's > with JDBC query > > > > 1. SQL tuning > > I believe that SQL tuning is DBA's job, in any enterprise application you > will go through this phase, and Ibatis is quite handy in here > > As your DBA need not know about the technology you are using and simply > provides you the best optimized query, developers need to map > > The SQL's appropriately. > > > > 1. Performance > > Object creation is definitely increases memory footprint of the app and > increases GC cycles too, I guess hibernate Object graphs are much more > complex > > And traversal of the result needs more object creation as compared to > Ibatis > > > > 1. Environment > > We did not have any major issues to deploy the app on WebSphere > environment, while some of the other teams using hibernate have complained > about tons of issues > > > > 1. Active group > > > > Ibatis is been a fantastic forum, during our development stage we reported > a bug in Abator (http://issues.apache.org/jira/browse/IBATIS-348) and it > was fixed in no time, I guess community support is very important as well. > > > > Overall we have had a great application performance in the > production system, and the development team was more than happy to adopt to > this shift in technology. > > > > Thx. > > -Hari > > > > > ------------------------------ > > *From:* Clinton Begin [mailto:clinton.begin@gmail.com] > *Sent:* Saturday, December 16, 2006 3:24 PM > *To:* user-java@ibatis.apache.org > *Subject:* Re: ibatis v hibernate > > > > I'll let the user community speak to the practical experiences, but at a > practices level consider the following at a philisophical level. > > All databases are legacy databases. Any database that is of any value > will ultimately become a dependency for more than the original application > it was built for. Inevitably other systems will start to report off of it, > then perhaps write to it and ultimately will influence changes to the > design. Unless they're all Java based applications using the same domain > model and ORM, it's likely you'll run into the problem of a legacy design > eventually, and the ORM will break down. > > In his blog[1], Ted Neward describes ORM as (forgiving the lack of > political correctness) "The Vietnam of Computer Science"[2]. His point is > basically that projects that start with ORM don't know what they're getting > into, and eventually realize that it's a losing battle. It's a good point > made in a very odd way. ;-) > > To be fair, I'll counter my own point: Designing for future need can be a > bad practice too. It's counter to Agile methods and therefore you might be > better starting with Hibernate and then moving to iBATIS if or when you need > to. > > Cheers, > Clinton > > [1] > http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx > [2] Ted is an American who has family that fought in the Vietnam war, so I > won't judge the analogy. > > On 12/15/06, *Ron Chan* wrote: > > > there's a lot of "advice" around that says hibernate is better when you > have > complete control of the data model, and ibatis is better when you are > working on an existing database > > i would like to hear from people who has had good experiences with ibatis > even though they are creating the data model from scratch, and how they > feel > it's been better for them than using hibernate > > thanks > Ron > -- > View this message in context: > http://www.nabble.com/ibatis-v-hibernate-tf2830264.html#a7901667 > Sent from the iBATIS - User - Java mailing list archive at Nabble.com. > > > ------=_Part_14539_32003610.1166466461363 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline These are all great success stories.  Coming from someone who has never tried Hibernate I love reading these.  What are some thought about putting together a page about IBATIS vs ORM (Hibernate)?

Nathan

On 12/17/06, Hariharan, Vadivelu (IE10) <Hariharan.Vadivelu@honeywell.com> wrote:

Here are my cents on Ibatis Vs Hibernate

 

Background

---------------------

I started with hibernate and have used it extensively right from 1.X release, at that time I had no clue about other popular ORM

Solutions, until I came across this article on javalobby.

 

In my organization many projects are using hibernate and they are still in development stage, we rolled out the first application

Using Ibatis to production, I just have a single project experience on Ibatis, but here are my thoughts.

 

  1. Learning Curve

To write good code in any technology, you need to be a champion in it, I have met many developers who know hibernate but not masters in it

Learning curve with iBatis is the most simplest you can ever think of, you can jump start as a plain JDBC developer and start with mapping you DAO's with JDBC query

 

  1. SQL tuning

I believe that SQL tuning is DBA's job, in any enterprise application you will go through this phase, and Ibatis is quite handy in here

As your DBA need not know about the technology you are using and simply provides you the best optimized query, developers need to map

The SQL's appropriately.

 

  1. Performance

Object creation is definitely increases memory footprint of the app and increases GC cycles too, I guess hibernate Object graphs are much more complex

And traversal of the result needs more object creation as compared to Ibatis

 

  1. Environment

We did not have any major issues to deploy the app on WebSphere environment, while some of the other teams using hibernate have complained about tons of issues

 

  1. Active group

 

Ibatis is been a fantastic forum, during our development stage we reported a bug in Abator (http://issues.apache.org/jira/browse/IBATIS-348 ) and it was fixed in no time, I guess community support is very important as well.

 

            Overall we have had a great application performance in the production system, and the development team was more than happy to adopt to this shift in technology.

 

Thx.

-Hari

 

 


From: Clinton Begin [mailto:clinton.begin@gmail.com]
Sent: Saturday, December 16, 2006 3:24 PM
To: user-java@ibatis.apache.org
Subject: Re: ibatis v hibernate

 

I'll let the user community speak to the practical experiences, but at a practices level consider the following at a philisophical level.

All databases are legacy databases.  Any database that is of any value will ultimately become a dependency for more than the original application it was built for.  Inevitably other systems will start to report off of it, then perhaps write to it and ultimately will influence changes to the design.  Unless they're all Java based applications using the same domain model and ORM, it's likely you'll run into the problem of a legacy design eventually, and the ORM will break down.

In his blog[1], Ted Neward describes ORM as (forgiving the lack of political correctness) "The Vietnam of Computer Science"[2].  His point is basically that projects that start with ORM don't know what they're getting into, and eventually realize that it's a losing battle. It's a good point made in a very odd way.  ;-)

To be fair, I'll counter my own point:  Designing for future need can be a bad practice too.  It's counter to Agile methods and therefore you might be better starting with Hibernate and then moving to iBATIS if or when you need to.

Cheers,
Clinton

[1] http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx
[2] Ted is an American who has family that fought in the Vietnam war, so I won't judge the analogy.

On 12/15/06, Ron Chan <rchan@i-tao.com> wrote:


there's a lot of "advice" around that says hibernate is better when you have
complete control of the data model, and ibatis is better when you are
working on an existing database

i would like to hear from people who has had good experiences with ibatis
even though they are creating the data model from scratch, and how they feel
it's been better for them than using hibernate

thanks
Ron
--
View this message in context: http://www.nabble.com/ibatis-v-hibernate-tf2830264.html#a7901667
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.

 


------=_Part_14539_32003610.1166466461363--