我正在尝试使用 ORMLite 来表示对话中的评论,如下所示:
@DatabaseTable(tableName = "comments")
public class Comment implements Parcelable{
@DatabaseField(id = true)
private Long id;
@DatabaseField
private Long conversation_id;
@DatabaseField
private String text;
...
public static class List extends ArrayList<Comment>{
}
}
...和...
@DatabaseTable(tableName = "conversations")
public class Conversation implements Parcelable{
@DatabaseField(id = true)
private Long id;
...
@ForeignCollectionField
private Comment.List comments;
@DatabaseField
private Date created_at;
...
}
我收到了这个错误:
'comments' 的字段类必须是 ForeignCollection 或 Collection 类
我也在使用 GSON,所以这些模型是从 json 自动填充的。例如:
{
"created_at":"2013-08-12T20:38:11Z",
"id":31,
"comments":[
{
"conversation_id":31,
"id":46,
"text":"IE sucks",
},
{
"conversation_id":31,
"id":47,
"text":"Yes it does",
}
]
}
有没有办法通过改变描述符来实现这一点?
是否有必要重新设计 Conversation 类以使用 ForeignCollection 作为评论类型或更改 Comment.List 类以扩展 ForeignCollection?我想避免做任何这些,因为我担心它会破坏目前运行良好的 GSON 实现。