Du kannst im SQL auch das Commit-Level auf *RR setzen.
Dann werden alle Sätze die gelesen werden automatisch gesperrt.
Du musst sie dann halt mit Commit/Rollback wieder freigeben.