batchExecute deadlock with oracle



I'm running parallel java threads each concurrently processing
addbatch() / batchExecute() statements. The set of rows being operated
on by any thread are guaranteed independent. But It's still getting
deadlocks. If I read oracle's enterprise manage console output
correctly I seem to be setting up exclusive table locks - but i don't
know where they are coming from - i only have simple prepared inserts &
updates (no Lock table statements). The tables do have (deferred)
referential constraints.

I was under the impression that oracle only implicitly set up row locks
and didn't escalate these to table locks of itself.

Does any body have any pointers as to what might be happening or where
I can find any documents about concurrent batchExecute processing

Thanks for any assistance Fred

.