0
에 중첩 된 관계로 작업하는 방법을
나는 실체가 :룸
@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를 : DAO와
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() {}
}
:
@Query("SELECT * FROM a")
List<AWithB> getAllNow();
문제는 @Relation로입니다 엔티티가 아닌 다른 것을 가리킬 수 없으므로 AWithB에 대한 것입니다. 그러나 해당 주체는 다른 주체를 포함 할 수 없습니다. DB에서 전체 구조를 어떻게 반환해야합니까?
안녕하세요 Andrej, 예를 들어 AwithB로 주문하는 법을 알고 계십니까? –
나는 무엇을 의미하는지 모르겠습니다. A 테이블의 경우 'Order By'문과 함께 일반 쿼리를 사용할 수 있습니다. @Relation에서 가져온 엔티티 목록을 주문하려면 최소한 Java Bean (AWithB :: getBWithCOrdered)의 getter에서 직접해야합니다. –