Gracias GreenEyed por tu aporte, para serte sincero, ahora quedé con mas dudas que antes, pero entiendo que no es un tema sencillo de tratar segun estuve leyendo opiniones en otro lugares.
Creo que voy a dejar tal cual indica la doc de Hibernate, una sola conexion "static" e ir abriendo y cerrando Sessions y en caso de que se produzca algun error importante, pedir amablemente al usuario que reinicie la aplicacion, no le veo otra salida a esto.
Gracias nuevamente por tu tiempo, cualquier opinion al respecto es bienvenida
Saludos