Return-Path: Delivered-To: apmail-ibatis-user-java-archive@www.apache.org Received: (qmail 33413 invoked from network); 5 Jul 2007 18:50:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 5 Jul 2007 18:50:55 -0000 Received: (qmail 21073 invoked by uid 500); 5 Jul 2007 18:49:33 -0000 Delivered-To: apmail-ibatis-user-java-archive@ibatis.apache.org Received: (qmail 21061 invoked by uid 500); 5 Jul 2007 18:49:33 -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 21042 invoked by uid 99); 5 Jul 2007 18:49:33 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Jul 2007 11:49:33 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [141.211.93.160] (HELO skycaptain.mr.itd.umich.edu) (141.211.93.160) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Jul 2007 11:49:27 -0700 Received: FROM [10.21.166.72] (host-18.subnet-17.med.umich.edu [141.214.17.18]) BY skycaptain.mr.itd.umich.edu ID 468D3D21.731DD.12361 ; 5 Jul 2007 14:49:05 -0400 Message-ID: <468D3D1A.2010706@umich.edu> Date: Thu, 05 Jul 2007 14:48:58 -0400 From: Henry Lu User-Agent: Thunderbird 1.5.0.12 (Windows/20070509) MIME-Version: 1.0 To: user-java@ibatis.apache.org Subject: Re: Which to choose : iBatis or Hibernate References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org iBatis is the way to go. -Henry Ashok Madhavan wrote: > Hi All, > > we are presently using iBatis in one of our project. In that project > there are lots of objects which need the CRUD and some CRUD + > something more. we really like the namespace feature in iBatis and use > to the max here. We use Abator to do the code generation. We use a > common DAO ( and Impl) for those object which just need the CRUD. In > those cases where the object needs additional methods other than CRUD, > we create new DAO Interface and Impl for those additional methods. We > use the namespace to differentiate the different objects. With Spring, > we inject the proper namespace and the proper dao. We use Struts for > the front-end. We inject the DAO into Struts using Spring. For objects > needing just CRUD, we use the same Action class. For objects needing > more than CRUD, we extend this action class and implement the new > methods. > > So if need a new object which needs CRUD, all we need to do is > > * create java objects/xml with abator > * create new JSPs > * create new struts mapping > * add struts changes to the spring config file. > > If we need a new Object which has CRUD + more, all we do is > > * first four steps as above > * New Dao and Impl extending the common DAO and Common Impl for > the additional methods. > * New Action Class extending the common Action class for the > additional methods. > > > and we are done. The productivity of the team is pretty high because > of the above reasons. And testability is sky-high too. > > Now i am coming to my question. In a new project, we are also thinking > of Hibernate. For this project most of the people who will be working > will be new to Hibernate as well as iBatis. I feel with the name > space stuff, code-generator etc, iBatis provides a better approach > with respect to fast churn of testable code. other things like > performance etc might remain the same. > > is my assumption right. Does Hibernate have namespace support like in > iBatis. > > Looking forward for your valuable comments and suggestions. > > regards > Ashok > > >