У меня есть бэкэнд Spring + Hibernate + MySQL, который выставляет мою модель (8 различных объектов) клиенту для настольного компьютера. Чтобы сохранить синхронизацию, я хочу, чтобы клиент регулярно запрашивал у сервера последние изменения. Процесс может быть следующим:
- Точка A: клиент подключается к
в первый раз и получает все
модель с сервера.
- Точка B: клиент запрашивает сервер
за все изменения, начиная с пункта А.
- Точка C: клиент запрашивает сервер
за все изменения, начиная с пункта B.
Чтобы получить изменения (точки B и C), я мог бы создать HQL-запрос, который возвращает все строки во всех моих таблицах, которые были последний раз изменены со времени моего предыдущего поиска. Однако я боюсь, что это может быть сложным запросом и ухудшить мою производительность, если выполняется часто
По этой причине я рассматривал другие альтернативы, как ведение отдельной таблицы с последними обновлениями для быстрого доступа. Я пытался использовать кэш запросов L2, но, похоже, он не подходит для моих целей.
Кто-нибудь знает хорошую стратегию для моей цели? Сначала я хотел сохранить контроль над синхронизацией и избегать использования «автоматических» инструментов синхронизации.
Большое спасибо