2012-12-12 33 views
2

我正在使用greenDao,我需要从类似于左连接funcionality的几个表中提取数据。下面是从我的模式发生器举: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(); 

我只得到了零售商表本身的内容,但我还需要网店实体值which're空。只有在我致电getShops()后,实体才得到填补。我需要在第一个查询时填写实体。它是如何完成的?

谢谢。

+0

........人? – midnight

+0

您将描述greenDAO的设计方式。关系在第一次访问时懒惰地解决。你没有说明的是你想要达到的目的以及为什么不能用标准关系来完成。 –

回答

0

使用queryDeep方法:

return mDaoSession.getRetailerDao().queryDeep(null);