OK, let's go over this again: iBATIS is not an Object / Relational Mapper.
It is not intended to track these relationships for you.
RDBMS = Relational DataBase Management System.
An RDBMS is intended to track these relationships for you.
If your particular RDBMS is incapable of doing that, or you work in an
environment that precludes using your database as a relational
database, then your options are:
1) do it as described below
2) use an ORM (which iBATIS is not)
Larry
On 8/8/06, Socheat KHAUV <[EMAIL PROTECTED]> wrote:
Yesh of coz your sql is right for two table,
how about three table or more and more tables that have relationship
together,
<update id="saveSearchControls" parameterClass="map">
begin
delete ... and more
delete ...
delete from Child2 where parentId in select childId from
Child1 where parentId = #value# ;
delete from Child1 where parentId = #value# ;
delete from Parent where parentId = #value# ;
end;
</update>
this is very huge proccess when we have complex tables,
do we have another solution about problem ?
Clinton Begin <[EMAIL PROTECTED]> wrote:
Of course for relational integrity, it would have to be:
<update id="saveSearchControls" parameterClass="map">
begin
delete from Child where parentId = #value# ;
delete from Parent where parentId = #value# ;
end;
</update>
;-)
Clinton
On 8/7/06, Larry Meadors < [EMAIL PROTECTED]> wrote:
> Not like <select> can, no.
>
> I am hoping this will not turn into another "we can't use any
> database-specific features" thread, but several databases (like
> Oracle) will let you do things like this:
>
> <update id="saveSearchControls" parameterClass="map">
> begin
> delete from Parent where parentId = #value# ;
> delete from Child where parentId = #value# ;
> end;
> </update>
>
> That is a nice workaround for environments where you are not allowed
> to create stored procedures. ;-)
>
> Larry
>
>
> On 8/7/06, Fred Janon <[EMAIL PROTECTED]> wrote:
> > That said, is there a way in iBatis to mimic a CASCADE DELETE by
> > executing several SQL statements in an iBatis SQL Map? Like selected
> > the elements in the child table with the FK of the master table and
> > deleting the selected child rows?
> >
> > The documentation says that we can even put several SQL statements in
> > the SQL map if the JDBC driver supports it... Would it be the way to do
> > it?
> >
> > --- Clinton Begin <[EMAIL PROTECTED]> wrote:
> >
> > > No. iBATIS is not an Object Relational Mapper. It is not aware of
> > > relationships and therefore does not automatically delete related
> > > records.
> > >
> > > Clinton
> > >
> > > On 8/7/06, Socheat KHAUV <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Do we have another way beside using trigger and ON DELETE CASCADE?
> > > > this is DBMS functions,
> > > >
> > > > beside using DBMS
> > > >
> > > > Does iBatis can delete the child record auto when we delete the
> > > master
> > > > record ?
> > > >
> > > >
> > > >
> > > > *Nils Winkler <[EMAIL PROTECTED]>* wrote:
> > > >
> > > > In Oracle I define this at the table level using "ON DELETE
> > > CASCADE" on
> > > > the foreign key relationship.
> > > >
> > > > On Sun, 6 Aug 2006 23:13:31 -0700 (PDT), "Socheat KHAUV"
> > > > said:
> > > > > Dear iBatis user,
> > > > >
> > > > > Does iBatis support auto delete data dependency when we delete
> > > master
> > > > > record ?
> > > > > if it is support could tell me way to do ?
> > > > >
> > > > > thank in advance,
> > > > > PkayJava
> > > > >
> > > > >
> > > > > ---------------------------------
> > > > > Yahoo! Music Unlimited - Access over 1 million songs.Try it free.
> > > > --
> > > > ==================================
> > > > [EMAIL PROTECTED]
> > > >
> > > >
> > > > ------------------------------
> > > > Yahoo! Music Unlimited - Access over 1 million songs. Try it
> > >
> >
free.<http://pa.yahoo.com/*http://us.rd.yahoo.com/evt=36035/*http://music.yahoo.com/unlimited/+%0A
>
> > > >
> > > >
> > >
> >
> >
>
________________________________
Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+
countries) for 2ยข/min or less.