Si tengo código que tiene el siguiente aspecto:Hibernate y las transacciones y la tabla de bloqueo
beginTransaction();
// lots of stuff happens, can take anywhere from a minute to several minutes.
// it will read from several tables via calling getter methods on lazy relationships.
commitTransaction();
Entre el inicio y confirmación, son las tablas que se están leyendo se bloquee y posteriormente lo hará esta causa problemas en un entorno multiusuario donde se producirán problemas cuando otro usuario llame al mismo código anterior.
Si lo anterior es problemático, ¿deberíamos siempre tratar de mantener las transacciones cortas? y para facilitar esto, en lugar de llamar a los métodos getter sobre las relaciones perezosas, ¿eso significa que es mejor mantener las transacciones cortas y hacer los hallazgos manualmente para los hijos de los padres?