ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From reub...@sonic.net
Subject multiple selectKeys in same transaction; wrong value coming out
Date Thu, 13 Oct 2005 01:56:23 GMT
Hello, I am doing the following within one transaction:

createJob(Job job);

[somewhat heavy calculations that don't belong in the batch]

begin batch:
     createDeployment(Deployment deployment);
     ...
end batch;

My problem is that after the batch is run, the deployment has the job's
id. (The setters on the beans are respectively correct.)

The xml invoked by createJob looks like this:

    <insert id="createJob" parameterClass="job">
        INSERT INTO Job (userName)
        VALUES (#userName#)
        <selectKey resultClass="int" keyProperty="jobId">
            SELECT @@IDENTITY as value
        </selectKey>
    </insert>

The xml invoked by createDeployment looks like this:

    <insert id="createDeployment" parameterClass="deployment">
        INSERT INTO Deployment (
            environmentId, deploymentTypeId, deploymentStatusId,
deploymentTime, threadCountOverride
        ) VALUES (
            #environmentId#, #deploymentTypeId#, #deploymentStatusId#,
#deploymentTime#, #threadCountOverride#
        )
        <selectKey resultClass="int" keyProperty="deploymentId">
            SELECT @@IDENTITY as value
        </selectKey>
    </insert>

I am using Spring transactions and batches, but I have verified that the
ibatis objects (& batch) are apparently being set up correctly.



Mime
View raw message