我具有一对多关系的数据库表,因为我现在只想获取在CClass
表中至少包含一条匹配记录的记录。
这是我的PojoClass,其中我定义了两者之间的关系
public class PojoClass {
@Embedded
PClass pClass;
@Relation(
parentColumn = "cid",entityColumn = "cid",entity = CClass.class)
List<CClass> cClassList;
}
PClass.java
@Entity(tableName = "p_class")
public class PClass {
@PrimaryKey(autoGenerate = true)
@NonNull
@ColumnInfo(name = "cid")
private long cid;
@ColumnInfo(name = "rid")
private String rid;
}
CClass.java
@Entity(tableName = "c_class",foreignKeys = @ForeignKey(entity = PClass.class,parentColumns = "cid",childColumns = "cid",onDelete = ForeignKey.CASCADE))
public class CClass {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name="cid")
@NonNull
private long cid;
@ColumnInfo(name = "rid")
private long rid;
}
还有道
@Dao
public abstract class ClassDao {
@Query("SELECT * FROM PClass")
public abstract Single<List<PojoClass>> getall();
}
此代码运行良好,但我想忽略CClass
中没有匹配原始文件的原始文件。现在,ClassDao#getall()
在没有数据但我想完全忽略PojoClass#List<CClass> cClassList
中的记录时,为'ClassDao#getall()
字段返回空列表