Обеспечение согласованности результатов поиска по нескольким транзакциям

Я должен реализовать требование для приложения Java CRUD, в котором пользователи хотят сохранить свои результаты поиска нетронутыми, даже если они совершают действия, которые влияют на критерии, по которым совпадают возвращаемые строки.

Запутались? В порядке. Приведу знакомый пример. В Gmail, если вы выполняете расширенный поиск непрочитанных писем, вам будет представлен список подходящих результатов. Щелкните запись и вернитесь к списку поиска. Что происходит, так это то, что вы только что прочитали эту запись, но она не исчезла из исходного набора результатов. Только эта строка изменилась с полужирного на нормальный.

Мне нужно реализовать точно такое же поведение, но приложение спроектировано таким образом, что сначала сохраняется любая транзакция, а затем пользовательский интерфейс запрашивает базу данных для синхронизации. Сложность приложения и размер базы данных не позволяют мне просто кэшировать совпадающие строки в памяти и вносить изменения как в базу данных, так и в память.

I ' m думает о решении проблемы на уровне базы данных путем создания промежуточной таблицы в базе данных Oracle, содержащей указатели на совпадающие записи и запрашивая только эти записи для синхронизации пользовательского интерфейса с данными. Есть идеи?

6
задан Amin Mozafari 1 May 2011 в 10:36
поделиться