In my application - Oracle with JPA (EclipseLink), I\'m using the following expression to lock the subset of the records in some tables:
select * from MY_TABLE w
Oracle doesn't provide a read lock, since it doesn't need one; undo logs make it unnecessary. So, SELECT...FOR UPDATE is really just a WRITE lock for Oracle.
Using JPA, you want to set the LockModeType as a PESSIMISTIC_WRITE.