ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Abdullah Kauchali <abdullah.kauch...@isanusi.com>
Subject Re: iBatis and ORM's
Date Mon, 07 Nov 2005 07:12:57 GMT
Clinton Begin wrote:

> >> I think we very badly need support for disconnected "datasets" or 
> resultsets in iBatis.
> Datasets, rowsets, strongly typed or not are generally a horrible 
> design choice and shouldn't be used in any sort of system that 
> requires a  maintainable object model that can exist with or without a 
> database.

That is simply not true.   Introducing datasets takes nothing away from 
the /real/ power of iBatis - the ability
to construct and refer to (call) statements through generic parameter 
objects.  The fact that it currently
translates the resultsets into an object model (ORM style), IMO, is 
really not its strength.  As a matter of fact,
it could be argued that /that/ part of iBatis is its /weakness/.   
Because people begin to expect the whole
ORM kitchen sink with it too.  Look at some of the comments Gavin is 
making about /lack/ of ORM
functionality in iBatis because of this:


"Does it support dirty checks".   That is so totally irrelevant to iBatis.

> ORMs are not bad for WHAT they intend to do.  They are sometimes just 
> overcomplicated because of HOW they do it.  


> We should be working with rich object models, not with two dimensional 
> arrays of disorganized bits. 

"Rich object models" is the puzzle ORM's intend to solve.  If iBatis is 
/all/ about that, then I'm afraid it
is an ORM - and I fear Gavin is right when he says key functionality is 
missing with iBatis.

The fact is, we are not intending to use iBatis in that way.  We have 
successfully created models without
rich object models that use simple beans and lists as disconnected 
datasets.  And the concept works
perfectly.  But it is cumbersome because we don't have the full power of 
a cachedrowset or analogous.

> >> A concept like strongly typed datasets from .NET will be a /dream/!
> Hey, did you know that Hibernate supports strongly typed, disconnected 
> data?  Check it out.

I will, thanks.   :)   But, I'd rather construct and organise my SQL/sp 
statements through iBatis.  It's just
so much better!

> Call it what you want, ORM or whatever.  iBATIS is iBATIS.  It does 
> what it does.  We're not trying to fit into any mold.
> >> And the last thing I want to do is waste my time defending ORM for 
> iBatis' sake!
> If you have to defend it, there are two possibilities.  1) iBATIS is 
> the wrong choice for you're situation, or 2) you're talking to the 
> wrong people.  Either way, we don't typically build features simply to 
> satisfy any debate. 

Woah, so iBatis is an ORM?  Is that what we conclude here?

Clinton, this is not just a debate for us.  We have to make some hard 
choices soon.  If we go iBatis, the folks
who want to use Hibernate will ask for the "missing" Hibernate features 
in iBatis.  If I am going to make a
convincing case for my clients about the use of iBatis in a 
"disconnected dataset" scenario, I better make a
compelling case that it supports the features easily.

But I see, you are getting upset.  :(

View raw message