3

如何在android中使用ORMlite保存ArrayList我的模型如下

class Model{
    @DatabaseField
    public String type = "";

    @DatabaseField
    public String name = "";

    @DatabaseField
    public Date dateTime = null;

    @DatabaseField
    ArrayList<Item> items = null;
}

并且 Item 类有

class Item{
     @DatabaseField
     String itemName;
     ...
}

我收到以下异常:

java.sql.SQLException: ORMLite can't store unknown class class
      java.util.ArrayList for field 'items'.   Serializable fields must specify
      dataType=DataType.SERIALIZABLE

但是当我将我的字段指定为

@DatabaseField(dataType = DataType.SERIALIZABLE)
ArrayList<Item> items = null;

编译器给出了一个错误,称为字段无法解决,请帮我解决这个问题。

4

1 回答 1

6

我刚刚将错误消息更改为:

ORMLite 不知道如何为字段“项目”存储类 java.util.ArrayList。使用另一个类,自定义持久化器,或使用 dataType=DataType.SERIALIZABLE 对其进行序列化

也许这更有意义? ORMLite试图说它不知道如何在字段中存储列表。如果您想存储项目集合,那么也许您应该查看foreign-collection 文档

于 2013-07-17T14:37:53.250 回答