GSON到Ormlite外国收藏

时间:2014-02-18 15:32:39

标签: java serialization gson android-sqlite ormlite

我的模型对象具有简单的数据类型以及其他类型的模型对象

@SerializedName("account")
Account account;`

我使用GSON从网络api调用序列化这些模型对象。 GSON需要我的模型对象是它们各自的类型。我想使用Ormlite和批处理任务将我的模型对象写入数据库,但Ormlite需要ForeignCollection<T>,即使我的模型中只有一个外来对象(而不是外来对象列表)。

如何从模型文件中的T的一个序列化元素到ForeignCollection<T>

当然,真正的问题是如何在我的数据库中序列化和存储模型,其中包含对其他模型的引用。

1 个答案:

答案 0 :(得分:6)

你在这里问的不是很清楚,但也许这可能有用:

assignEmptyForeignCollection

void assignEmptyForeignCollection(T parent,
                                  String fieldName)
                                  throws SQLException

创建一个空集合并将其分配给父对象中的相应字段。这允许您从一开始就向集合中添加内容。例如,假设您有一个具有以下字段的帐户:

 @ForeignCollectionField(columnName = "orders")
 Collection<Order> orders;

然后你会打电话:(在这种情况下)

accoundDao.assignEmptyForeignCollection(account, "orders");
Order order1= new Gson().fromJson(someMethodThatCallsYourNetworkApi(),Order.class);

 // this would add it the collection and the internal DAO
 account.orders.add(order1);