次のように、 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;
...
}
そして、私はこのエラーが発生しています:
「コメント」のフィールド クラスは、クラス 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",
}
]
}
記述子を変更するだけでこれを達成する方法はありますか?
コメントの型として ForeignCollection を使用するように Conversation クラスを作り直すか、Comment.List クラスを変更して ForeignCollection を拡張する必要がありますか? 現在正常に動作している GSON の実装が壊れてしまうのではないかと心配しているため、これらのいずれかを実行することは避けたいと思います。