2016-06-29 3 views
2

ORMLiteデータベースへのオブジェクトのリストを保存します。Best way to store several ArrayLists in ORMLite for ApplicationSettingsORMLiteでデータベースにオブジェクトのリストを保存して、この質問時に読むために、私は方法を探しています

そして受け入れ答え私には理にかなって:

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

私が理解できない唯一のことは、この行ですprivate Collection<MyString> bunchOfStrings = new ArrayList<MyString>()ForeignCollectionFieldをの代わりにCollection<MyString>として保存するのはなぜですか?上記のbunchOfStringsオブジェクトを使用している場合、常にそれをArrayList<MyString>にキャストする必要がありますか?

答えて

2

ForeignCollectionFieldをArrayListの代わりにCollection として保存するのはなぜですか?設計上の配慮だった

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 

から抜粋bunchOfStringsでの作業は、上記課題とき、私たちは常にあなたがいけない

をArrayListにそれをキャストする が必要なのか持っていますそのフィールドを初期化するにはOrmliteがそれを行います。したがって、利用可能なメソッドのみがCollectionまたはForeignCollectionに存在します。

関連する問題