无法为外部集合成员的类构建惰性迭代器

时间:2015-06-30 22:44:56

标签: java android sqlite ormlite foreign-collection

我有一个简单的主要细节,当我查询de master并检查外部成员集合时,抛出异常java.lang.IllegalStateException: Could not build lazy iterator for class com.example.entity.detail

List<Master> masters = DBHelper.getMasterDao().queryForAll();

此时,主人被检索正常,但在尝试访问外部成员时会抛出异常。

班级定义

public class Master {

    public Master(){

    }

    @DatabaseField(id = true)
    public int Id;

    @DatabaseField(format = "yyyy-MM-dd'T'HH:mm:ss", dataType = DataType.DATE_STRING)
    public Date CreationDate;

    // Reverse navigation
    @ForeignCollectionField(eager = true)
    public Collection<detail> details;
}

public class Detail{

    @DatabaseField(id = true)
    public long Id;
    @DatabaseField
    public int Month;
    @DatabaseField
    public double Price;
    @DatabaseField
    public double Diff;

    @DatabaseField(canBeNull = true, foreign = true)
    public Master master;
}

1 个答案:

答案 0 :(得分:0)

确保已在SQL数据库中创建了所有相关表。

这是我遇到的错误。我只是仔细查看了堆栈跟踪并发现了问题。