Вот минимальный пример для описания проблемы:
Предположим, что таблица считывается из SQLiteDB и сохраняется в объекте Java Collection
idRecord | Data (table stored at DB)
1 One
2 Two
3 Three
4 Four
И через библиотеку sqlite jdbc :
Map objTable = new HashMap (); //... добавив некоторый материал jdbc, мы получим копию DBTable в objTable
Затем, если объект будет изменен, то есть.
idRecord | Data (modified table stored at objTable)
2 Two
4 FourModified
5 Five
(id 1 и 3 были удалены, 2 остаются то же самое, 4 изменено и 5 добавлено)
Как обновить / объединить таблицу объектов с БД?
Почему я хочу объединить, а не просто сохранить объект в таблице ?
Я думаю, что если таблица достаточно велика, то нет смысла записывать все записи, если только некоторые из них были изменены.
Удалить всю таблицу DBtable и в (пока что опасном) цикле обойдите объект, чтобы записать новую таблицу.
Прочтите DBtable во втором объекте java, а затем сравните оба (с каким-то алгоритмом слияния) и примените действия (ADD, УДАЛИТЬ, ИЗМЕНИТЬ) прямо в БД. (Я бы принял рекомендацию для этого алгоритма сравнения)
РЕДАКТИРОВАТЬ: Не создавайте Коллекцию в первую очередь, чтение и запись непосредственно из БД, постоянная передача запросов через JDBC
Другой лучший подход
Thanks4Reading