Tengo que implementar un requisito para una aplicación Java CRUD donde los usuarios deseen mantener intactos sus resultados de búsqueda incluso si realizan acciones que afecten los criterios con los que coinciden las filas devueltas.Mantener el resultado de búsqueda constante en varias transacciones
Confused? De acuerdo. Déjame darte un ejemplo familiar. En Gmail, si realiza una búsqueda avanzada en correos electrónicos no leídos, se le presentará una lista de resultados coincidentes. Haga clic en una entrada y luego regrese a la lista de búsqueda. Lo que sucede es que acaba de leer esa entrada pero no ha desaparecido del conjunto de resultados original. Solo esa línea ha cambiado de negrita a normal.
Necesito implementar exactamente el mismo comportamiento, pero la aplicación está diseñada de tal manera que cualquier transacción se conserva primero y luego la UI vuelve a consultar el archivo db para mantenerse sincronizado. La complejidad de la aplicación y el tamaño de la base de datos me impide hacer simplemente un simple almacenamiento en memoria caché de las filas correspondientes y hacer los cambios tanto en db como en memoria.
Estoy pensando en resolver el problema en el nivel de la base de datos creando una tabla intermedia en la base de datos Oracle con punteros para comparar registros y volver a consultar solo los registros para mantener la UI sincronizada con los datos. ¿Algunas ideas?
Sin embargo, solo puede recuperar un cursor una vez ... Debería abrir muchos cursores si el usuario tiene la intención de volver a la página de búsqueda varias veces. –