【问题标题】:GSON to Ormlite foreign collectionGSON 到 Ormlite 国外集合
【发布时间】:2014-02-18 15:32:39
【问题描述】:

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

@SerializedName("account")
Account account;`

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

如何在我的模型文件中将T 的一个序列化元素转换为ForeignCollection<T>

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

【问题讨论】:

  • 真的不清楚你在这里问什么。 JSON 示例和您需要 JSON 在 Java 中转换/映射到的内容的示例会很有帮助。
  • @BrianRoach 映射很好,但使用 Ormlite 将其写入数据库无法正常工作。这是一个关于ormlite的问题
  • @BrianRoach 不需要任何 JSON 样本。 Gson 自动映射到 Java 类。问题在于 Ormlite

标签: java serialization gson android-sqlite ormlite


【解决方案1】:

这里不是很清楚你在问什么,但也许这很有用:

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 2012-08-22
    相关资源
    最近更新 更多