Hi kefah,
I think the problem is that the option to lock a row is hardcoded in the given method (getForUpdateString()). DB2 supports a lot of transaction serialization levels. The level 'rr' (repeatable read) tries to set a lock on the table and is not what we want. The level 'cs' (cursor stability) is better suited.
So it should be a good idea to set this option depending on the configured transaction serialization level.
Maybe Gavin would like so kind to make a little refactoring to that method and introduce a parameter (int serializationLevel) to choose the option according to the given parameter value.
regards Lutz
ps. Here a link to the DB2 documentation
http://publib.boulder.ibm.com/infocente ... /index.jsp
The isolation levels are contained within the manual 'SQL Reference'