我的模型对象具有简单的数据类型以及其他类型的模型对象
@SerializedName("account")
Account account;`
我使用GSON
从网络api调用序列化这些模型对象。 GSON需要我的模型对象是它们各自的类型。我想使用Ormlite和批处理任务将我的模型对象写入数据库,但Ormlite需要ForeignCollection<T>
,即使我的模型中只有一个外来对象(而不是外来对象列表)。
如何从模型文件中的T
的一个序列化元素到ForeignCollection<T>
?
当然,真正的问题是如何在我的数据库中序列化和存储模型,其中包含对其他模型的引用。
答案 0 :(得分:6)
你在这里问的不是很清楚,但也许这可能有用:
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);