サーバからの応答を解析し、データベース(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とは別に各リストオブジェクトを取得することはできますか?ただ、要約へ