小编oli*_*ejp的帖子

在ORDER BY中使用Room的@Relation

我尝试了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()。

原因我认为排序应该由数据库而不是在查询之后进行。

任何的想法 ?

谢谢。

android android-room

7
推荐指数
2
解决办法
3011
查看次数

标签 统计

android ×1

android-room ×1