ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Butler" <jeffgbut...@gmail.com>
Subject Re: Nested Transactions
Date Tue, 14 Mar 2006 16:42:05 GMT
Why not do this in one transaction?

The ABC DAO class should not have any transaction code in it, either should
the XYZ DAO.  A service level method should do the transaction code:

CreateABC -
Insert ABC

Create XYZ -
Insert X
Insert Y
CreateABC
Insert Z

XYZ Service -
Start T1
Create XYZ
Commit T1

Jeff Butler



On 3/14/06, Rashmi Dave <rashmid@persistent.co.in> wrote:
>
> Hi All,
>
> I am not sure if this is a silly/obvious question, however, here goes:
>
> I have a function called CreateABC. This starts a transaction, inserts
> into
> the DB and then commits the transaction and finally stops it.
>
> I have another function which is called CreateXYZ. This function also does
> the same thing. However, it also calls CreateABC internally since ABC
> needs
> to be created as part of creation of XYZ.
>
> CreateABC -
> Start T1
> Insert ABC
> Commit T1
>
> CreateXYZ -
> Start T2
> Insert X
> Insert Y
> CreateABC
> Insert Z
> Commit T2
>
> What I want to know is, in case Insert Z fails, and a rollback needs to be
> done, will ABC, X and Y get rolled back? I am using Abator generated
> classes
> for ibatis...
>
> TIA
>
> ~Rashmi
>
>
>

Mime
View raw message