does this happen when you run a single
thread / client / when running multiple clients?
can you check the update query that websphere runs?
could be soemthing like this,
update <tableA> set w ='a', x = 'b where y = 'c' and z= 'd'
are the values for c and d different from what you see in the database for the same row? If they are different then the error being reported is what it means...meaning some other thread has indeed updated the row before this thread got a chance to update
Are y and z of the type java.util.date? May be the
java date and database date column types are'nt compatible and hence the update fails and resuts in an optimistic concurrency exception.