我正在学习使用你的 Android ORMLite 框架。
但是我遇到了一个问题,我尝试了很多方法来解决但都失败了。
例如。我有 2 个数据库类:
@DatabaseTable(tableName = "Subject")
public class Subject {
@DatabaseField(columnName = "id", id = true)
protected String id;
@DatabaseField(columnName = "deleteFlag", canBeNull = false, defaultValue = "0")
protected boolean deleteFlag = false;
@DatabaseField(columnName = "name", canBeNull = false)
private String name;
@ForeignCollectionField(eager = true, maxEagerLevel = 3)
private Collection<Student> students;
...
}
@DatabaseTable(tableName = "Student")
public class Student {
@DatabaseField(columnName = "id", id = true)
protected String id;
@DatabaseField(columnName = "deleteFlag", canBeNull = false, defaultValue = "0")
protected boolean deleteFlag = false;
@DatabaseField(columnName = "firstName", canBeNull = false)
private String firstName;
@DatabaseField(columnName = "lastName", canBeNull = true)
private String lastName;
@DatabaseField(columnName = "subjectId", canBeNull = false, foreign = true, foreignColumnName = "id")
private Subject subject;
...
}
它要求数据库中的记录不被删除,它只是由deleteFlag列标记。
现在,我尝试查询所有具有“deleteFlag = false”的主题。每个科目都有“deleteFlag = false”的学生名单。
有没有办法使用 SubjectDao 查询???
或者我必须做两个步骤:
使用 SubjectDao 查询所有具有“deleteFlag = false”的主题;
在科目列表中循环,使用 StudentDao 查询该科目所有具有“deleteFlag = false”的学生。然后将学生列表设置为主题对象。
谢谢你的时间。