Harusnya kalau ngomongin pessimistic lock tuh levelnya di level DB dan spesifik ke RDBMS tertentu karena tidak semua RDBMS transaction isolation levelnya sama artinya dan memberikan level-level yang sama.
Spring JPA membuat abstraksi tapi belum tentu abstraksinya itu konsisten dan reliable untuk semua RDBMS.