서버의 응답을 구문 분석하여 데이터베이스 (greendao)에 저장하십시오. 모든 개체가 올바르게 저장되었습니다. 예를 들어 나는 실체가 :내부 엔티티를 얻기 위해 Greendao에서 관계를 올바르게 작성하십시오.
@Entity(active = true, nameInDb = "PURCHASE")
public class Purchase {
private long purchaseShopId;
private String createdAt;
@ToMany(referencedJoinProperty = "shopId")
private List<ShopStats> shopStats;
// ...
@Entity(active = true, nameInDb = "SHOP_STATS")
public class ShopStats {
private long shopId;
@ToOne
private Shop shop;
@ToOne
private Spend spend;
// ...
@Entity(active = true, nameInDb = "SHOP_STATS_SPEND")
public class Spend {
private long shopId;
@SerializedName("sum")
private float paymentSum;
@SerializedName("discount_sum")
private float discountSum;
// ...
을 그리고 난 모든 구매를 가져 오기 할 때, ShopStats, 가게를 보내 - 같은 :
List<Purchase> purchasesList = getDaoSession().getPurchaseDao().loadAll();
나는 모든 내부 객체를 제공하기 위해 excpected
Spend spend = purchasesList.get(i).getShopSatats().getSpend(); // in cycle
하지만 여기는 null이됩니다. 이처럼 내부 객체를 가져 오려면 어떻게해야합니까?
내부 객체를 바인딩 할 수 있지만 작동하지 않을 때까지 내 주석을 수정해야 할 것으로 생각됩니다. 나는이 @ToOne(joinProperty = "shopId")
같이 수정 주석을 시도했지만 예외를 생산 :
If @ToOne with foreign property used, @Column and @Unique are ignored
나에게 내가 이것을 달성 할 수있는 방법 조언을 좀주세요? 또는 DaoSession과 별도로 각 목록 개체 만 가져올 수 있습니까? 내부 그냥 요약하자면