我的应用程序将数据库文件(例如myDatabase.db)加载到内存数据结构中,即各种Java类对象。用户对内存中的结构进行插入,删除和编辑。我试图确定将这些更改保存回磁盘文件的最佳方法是什么。
我可以(a)做相应的插入,删除和&在更改内部数据结构的同时更新,从而保持myDatabase.db始终同步,(b)以某种方式堆叠更改并在会话结束时将更改推迟到myDatabase.db。
(b)的一个优点是它可以允许最后的#34;你想保存这些变化吗?"在提交之前。实现(a)似乎更容易,但我想为用户提供放弃更改的机会。
这让我想到了一个问题:在加载时克隆数据库的最佳方法是什么?如果我可以这样做,我可以使用(a)对克隆进行更改,然后根据用户的意愿使用它来覆盖myDatabase.db。
TIA
Ed S
答案 0 :(得分:0)
一种可能的解决方案是使用事务 - 您可以开始事务,然后转换所有更改" online",然后当用户同意保存数据时,应用程序只执行提交(或回滚)