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.