3

我正在使用greenDao,我需要从几个类似于左连接功能的表中提取数据。这是我的模式生成器的引用:

private static void genRetailers(Schema schema) {
    // create retailer entity
    Entity retailerEntity = schema.addEntity("Retailer");
    retailerEntity.addIdProperty().notNull();
    retailerEntity.addStringProperty("title");

    Entity shopEntity = schema.addEntity("Shop");
    shopEntity.addIdProperty().notNull();
    shopEntity.addStringProperty("address");
    Property retailerId = shopEntity.addLongProperty("retailerId")
            .getProperty();
    // (1) Retailer < - > (*) Shop
    retailerEntity.addToMany(shopEntity, retailerId);
}

当我做:

    return (ArrayList<Retailer>) mDaoSession.getRetailerDao()
                .queryBuilder().list();

我只获取零售商表本身的内容,但是我还需要为空的 Shop 实体值。只有在我打电话getShops()给实体后才会被填满。我需要在第一次查询时填写实体。它是怎么做的?

谢谢。

4

1 回答 1

-1

使用 queryDeep 方法:

return mDaoSession.getRetailerDao().queryDeep(null);
于 2014-03-07T16:55:52.650 回答