Save a list of objects to ORMLite database

你说的曾经没有我的故事 提交于 2019-12-08 02:54:09

问题


I am looking for a way to save a list of objects to the database with ORMLite and read upon this question: Best way to store several ArrayLists in ORMLite for ApplicationSettings

And the accepted answer makes sense to me:

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

And the only thing that I don't understand is this line private Collection<MyString> bunchOfStrings = new ArrayList<MyString>(). Why do we save the ForeignCollectionField as Collection<MyString> instead of as ArrayList<MyString>? When working with the bunchOfStrings object above, do we always need to cast it to ArrayList<MyString>?


回答1:


Why do we save the ForeignCollectionField as Collection instead of as ArrayList?

That was design consideration, excerpt from doc

The field type of orders must be either ForeignCollection<T> or Collection<T> – no other
collections are supported because they are much heavier with many methods to support

When working with the bunchOfStrings object above, do we always need to cast it to ArrayList

You dont have to initialize that field, Ormlite will do that. Hence, only available methods are ones present in Collection or ForeignCollection



来源:https://stackoverflow.com/questions/38088970/save-a-list-of-objects-to-ormlite-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!