我尝试了Room库,顺便说一下,这是一个非常令人印象深刻的库!
所以我有两个@Entity和一个由两个实体组成的POJO。
我的第一个实体=>
@Entity(tableName = "colis")
public class ColisEntity {
@PrimaryKey
private String idColis;
private String label;
}
Run Code Online (Sandbox Code Playgroud)
我的第二个具有外键的实体=>
@Entity(tableName = "step",
foreignKeys = @ForeignKey(entity = ColisEntity.class,
parentColumns = "idColis",
childColumns = "idColis",
onDelete = CASCADE))
public class StepEntity {
@PrimaryKey(autoGenerate = true)
private Integer idStep;
private String idColis;
private Long date;
}
Run Code Online (Sandbox Code Playgroud)
我的POJO与@Relation
public class ColisWithSteps {
@Embedded
public ColisEntity colisEntity;
@Relation(parentColumn = "idColis", entityColumn = "idColis")
public List<StepEntity> stepEntityList;
}
Run Code Online (Sandbox Code Playgroud)
所有这些东西都可以在我的@Dao和存储库中正常工作。
但是我希望我的@Relation List可以按日期排序,并且我不希望StepEntity实现Comparable并创建Collections.sort()。
原因我认为排序应该由数据库而不是在查询之后进行。
任何的想法 ?
谢谢。