Si un usuario presiona el botón "buscar" y luego decide hacer "otra cosa", debemos cancelar una consulta que ya está en ejecución.Cómo puedo cancelar una consulta de hibernación
Usamos Hibernate (y Oracle) como solución de persistencia. La interfaz de sesión de Hibernates proporciona un método cancelQuery()
. Después de algunas pruebas, parece que cancelQuery()
no tiene ningún efecto.
¿Alguien tiene alguna experiencia con este método Session#cancelQuery()
?
¡Gracias!
Encontré que el método cancelQuery solo funciona mientras la aplicación está esperando que la base de datos comience a devolver los resultados. Sin embargo, una vez que Hibernate ha recibido un conjunto de resultados de la base de datos y comienza a asignar los resultados a los objetos, ya no tiene ningún efecto, y es aquí donde se encuentra la mayor parte de la sobrecarga del rendimiento. ver: http://stackoverflow.com/questions/28391785/outofmemoryerror-as-a-result-of-multiple-searches – Jewels