Hibernar LockModes / LockOptions

Estoy revisando la documentación de Hibernate y encontré elLockModes. Son los mismos queIsolation levels que usamos para la base de datos? ¿En qué se diferencian deIsolation levels?

Estoy probando un ejemplo simple y observé que la hibernación está golpeando la base de datos cuando uso el método session.load () en lugar de golpear la base de datos cuando invoco algunos métodos en el objeto cargado.

session.beginTransaction(); //Line 1
DomesticCat d1 = (DomesticCat)session.load(DomesticCat.class, 1L,LockOptions.UPGRADE); //Line 2
d1.meow(); //Line 3
session.getTransaction().commit(); //Line 4

Observé que la hibernación llega a la base de datos en la línea 2, por favor, dime por qué sucede así. Si elimino el parámetro LockOptions, entonces el hit DB se realiza enLine 3 en lugar deLine 2

losAPI para LockOptions Da muy pocos detalles sobre lo que son:

READ representa LockMode.READ (timeout + scope no se aplica)

Que significa esotimeout + scope do not apply?

UPGRADE representa LockMode.UPGRADE (esperará para siempre el bloqueo y el alcance del significado falso, solo la entidad está bloqueada)

¿Cuándo debemos usar UPGRADE? que significa esoscope of false meaning only entity is locked?

Puede ser que estas sean preguntas básicas para chicos experimentados, por favor ayúdenme a entender el concepto aquí.

Gracias por mirar mi post.

Respuestas a la pregunta(2)

Su respuesta a la pregunta