java将对象列表保存到ORMLite数据库
我正在寻找一种方法,用ORMLite将对象列表保存到数据库中,并阅读这个问题:Best way to store several ArrayLists in ORMLite for ApplicationSettings
对我来说,被接受的答案是有意义的:
public class YourClass {
@GeneratedId
private int id;
@ForeignCollectionField
private Collection<MyString> bunchOfStrings = new ArrayList<MyString>();
}
public class MyString{
@DatabaseField(canBeNull = true, foreign = true)
private YourClass yourClass;
@DatabaseField
private String text;
}
我唯一不明白的是这一行。为什么我们要将ForeignCollectionField
保存为Collection<MyString>
而不是ArrayList<MyString>
?当使用上面的bunchOfStrings
对象时,我们是否总是需要将其强制转换为ArrayList<MyString>
# 1 楼答案
这就是设计考虑,摘自doc
您不必初始化该字段,Ormlite会这样做。因此,只有Collection或ForeignCollection中存在的方法才可用