Мне необходимо реализовать требование для приложения Java CRUD, в котором пользователи хотят сохранить свои результаты поиска без изменений, даже если они выполняют действия, которые влияют на критерии, по которым возвращаемые строки сопоставляются.
Confused? Хорошо. Позвольте мне привести вам знакомый пример. В Gmail, если вы выполняете расширенный поиск по непрочитанным электронным письмам, вам предоставляется список подходящих результатов. Нажмите на запись и затем вернитесь к списку поиска. В результате вы только что прочитали эту запись, но она не исчезла из исходного набора результатов. Только эта строка изменилась с жирного на обычный.
Мне нужно реализовать точно такое же поведение, но приложение спроектировано таким образом, что сначала выполняется любая транзакция, а затем пользовательский интерфейс запрашивает базу данных для синхронизации. Сложность приложения и размер базы данных не позволяют мне просто выполнять кеширование в памяти соответствующих строк и вносить изменения как в БД, так и в памяти.
Я думаю о решении проблемы на уровне базы данных путем создания промежуточной таблицы в базе данных Oracle, содержащей указатели на соответствующие записи и запрашивающей только эти записи, чтобы синхронизировать пользовательский интерфейс с данными. Есть идеи?