2017-02-12 56 views
0

我想存储一个对象的历史记录,我在寻找建议。在SQLite中只存储一个对象的历史记录的最佳方式是什么?

我的“所有者”的对象已经得到了以下变量和ArrayList:

private String name; 
private int totalAmount; 
private List<Payment> listOfPayments = new ArrayList<>(); 

现在我必须保存这个对象的历史(当客户将支付给我,总金额将会增加,支付的对象将是添加到listOfPayments)。

现在我不知道什么是存储这样的对象的历史最好的方式。

在SQLite的我想存储像数据:

dateState(唯一值,总金额的状态和listOfPayments的含量对于某些日期例如在2017年2月13日的日期=总金额450,listOfPayments = [{.. 。},{...}]另一日期02.02.2017 total amount = 500,listOfPayments = [{...},{...},{...},{...},{.. }]

总金额 - 量,我有一段日子

listOfPayment s - 从非常开始到保存状态的付款清单状态

并且在每行数据中存储像“名称”或其他不会改变的数据非常浪费内存。

你在哪里以及如何存储它?

回答

0

当数据正常化时,列表将进入单独的表格。

你需要一个表来存储主人的属性:

Owner 
------- 
OwnerID 
name 

总量并不需要存储;它可以从其他数据计算。

每个付款项属于所有者,所以它需要一个外键:

Payment 
--------- 
PaymentID 
OwnerID 
date 
amount 
... 
相关问题