What's a good pattern to perform multiple statements
on a single DAO method. Suppose I have a bunch of
"User" objects each containing a list of "Group"
objects. Right now I'm doing the following:

(Pseudocode)

AddUser(User) {
[BeginTransaction]
   Mapper.Instance().Insert("InsertUser", user);
   foreach (Group in user.Groups) {
      Mapper.Instance().Insert("InsertGroup", group);
   }
[CommitTransaction]

Is there a way to move this type of transaction to
iBatis. I'm thinking along the lines of a hypothetical
construct like:

<batchStatement id="InsertUserAndGroups"
useTransaction="true" parameterClass="User">
   <insert id="InsertUser">
      INSERT INTO user ...
   </insert>
   <foreach property="Groups">
      <insert id="InsertGroup">
          INSERT INTO group ...
      </insert>
   </foreach>
</batchStatement>

In the example, the <insert> statements are the same
as usual except they implicitly take the parameter
specified in the <batchStatement> tag.

Is there something like this already in iBatis or
planned for the future, or is this a misguided
strategy?

Thanks,
H.E.


        
                
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com

Reply via email to