Tengo un proyecto Spring Boot que usa hibernación a través de la API de JPA. Me gustaría saber dónde se abre/cierra una sesión de hibernación en dicho proyecto.
¿Spring abre una sesión al comienzo de un método anotado @Transactional y cierra la sesión al final del método? Si no es así, ¿cuándo ocurre exactamente la apertura/cierre de la sesión de hibernación?
¿Hay alguna manera de mantener la sesión actual después de que haya regresado un método @Transactional ? Por ejemplo, para cargar colecciones fuera de un método @Transactional ?
Tenga en cuenta que no estoy hablando necesariamente de un proyecto web. Puede ser cualquier tipo de proyecto.