【发布时间】:2018-03-05 20:47:40
【问题描述】:
我有实体:
@Entity
public class A {
@PrimaryKey(autoGenerate = true)
public long id;
public A() {}
}
@Entity()
public class B {
@PrimaryKey @NonNull
public String id;
public String oneCId;
public String anotherCId;
public long aId;
public B() {}
}
@Entity
public class C {
@PrimaryKey @NonNull
public String id;
public String value;
public C() {}
}
还有一些 POJO:
public class AWithB {
@Embedded
public A a;
@Relation(parentColumn = "id", entityColumn = "aId")
public List<BWithC> bWithC;
public AWithB() {}
}
public class BWithC {
@Embedded
public B b;
public C oneC;
public C anotherC;
public BWithC() {}
}
使用 DAO:
@Query("SELECT * FROM a")
List<AWithB> getAllNow();
问题在于 AWithB 的 @Relation,因为它不能指向实体以外的任何东西。但该实体不能包含其他实体。我应该如何从 DB 中返回整个结构?
【问题讨论】:
-
如果有人对答案感兴趣,请查看Answer
标签: android sqlite database-relations android-room android-architecture-components