What iBatis lets ME do is create a DAO base class that I can re-use.
Eventualy DAO maps to a ... model suchas as TableModel (wahtever else...
and TableModel maps to a jTableView. And TableModel is my "disconected
row set/data set" that matheces my view requirment).
The pooint of OO is to increase produtivity via reuse. I can write more
OO w/ iBatis. Also, to me, relational and set (aka Collection) is more
mathenmticaly correct view to the business problem I solve.
ORM... thinks OO is having an instance of Object in some docs they have.
So if I have an array of People... it does not match my business
problem, I have to look how to rig it in. I don't have OO. And... I
don't have SQL to make it fast.
Yet another ex, Master Detail. In iBatis/"datasets" I retrieve a List of
(a few fields) Maps for jTable (w/ page offsets in SQL). When user
clicks on a row, I retrive a Map (of all or most fields) that coresposd
to my Form. 2 hits to SQL, to get 2 sets, each optimized and tuned to
what I want, /w DBA help. Matches my mock up of screen shots in
requirments and I can unit test any and reproduce.
In ORM... I keep an array of People is some ORM engine. It gives me a
subset of People objects (w/ all the fields even if I don't need them in
memory, each person object is a CRUD) and ORM "computes" page ofsets,
etc. (ORM's have years of exeprience tunint request, SQL has decades of
experrience tuning selects). When I click on a row, it does not hit the
DB again, the row is there in array. To unit test... well, it depends
what you had in ORM before, harder to break out a module (for those that
think unit testing speads you up) You could ... force manaual SQL for
each Person object and deltas and..
It does not fit and no OO and no P&T (performance and tuing by DBA).
If you work large sites... they could also have other lanages, .NET,
PHP. The ORM architecture is just less portable to other tech stacks.
Abdullah Kauchali wrote:
The point I am making is that, it looks like iBatis has /intentions/ of
answering the fundamental questions
that all ORM's have ambitions of solving - the primary one being the
ability to give the programmer a
/natural/ (cough!) feel for their objects.
Your Roomity Broadband Community <http://roomity.com/demo.jsp>
cell: 917 825 3035 in DFW
email: netsql at roomity.com