データベース スキーマをアップグレードしているときに、ForeignCollectionField (ormlite 4.7) が行を返さないという問題に遭遇しました。アプリをクリーン インストールすると、期待どおりに行を追加して表示できます。
アプリが新しいバージョンに更新されるとスキーマが更新されますが (以下を参照)、行がデータベースに追加されると、コレクションは追加された行を返しません。(データベースに行が存在することがわかります)
親行は更新前に存在していました。修正するにはどうすればよいですか?
Foreign Collection が定義された親クラス
@DatabaseTable(tableName = "setting")
public class SettingEntity {
    @DatabaseField(generatedId = true)
    private long id;
    …
    //New field added
    @ForeignCollectionField
    private ForeignCollection<DistributionEntity> distribution;
    public SettingEntity() {
        // Required for ORMLite
    }
    public ForeignCollection<DistributionEntity> getDistribution() {
        return distribution;
    }
    public void setDistribution(ForeignCollection<DistributionEntity> distribution) {
        this.distribution = distribution;
    }
}
子クラス
@DatabaseTable(tableName = "distribution")
public class DistributionEntity {
    @DatabaseField(generatedId = true)
    private long id;
    …
    //New field added
    @DatabaseField(canBeNull = true, foreign = true, index = true, foreignAutoRefresh = true, columnDefinition = "integer references setting(id) on delete cascade")
    private SettingEntity setting;
    public void setSetting(SettingEntity setting) {
        this.setting = setting;
     }
 }
onアップグレードコード
RuntimeExceptionDao<DistributionEntity, Integer> distributionDao = helper.getDistributionDao();
distributionDao.executeRaw("ALTER TABLE distribution ADD setting_id");
distributionDao.executeRaw("CREATE INDEX distribution_setting_idx ON distribution (setting_id)");
ForeignCollectionField 呼び出し分布のデバッグ情報

コレクションを反復処理するコード
public ArrayList<Distribution> getDistribution() {
    getEntity().getDistribution().size();
    final ArrayList<Distribution> items = new ArrayList<Distribution>();
    final ForeignCollection<DistributionEntity> collection = getEntity().getDistribution();
    for (final DistributionEntity item : collection) {
        final Distribution dist = new Distribution(item, mContext);
        items.add(dist);
    }
    return items;
 }
注意 getEntity() は SettingEntity のインスタンスを返します
時間を割いてくれてありがとう