Android 具有关系对象条件的greenDao queryBuilder
我与中间的一个实体有多对多的关系 这是我的模型声明:Android 具有关系对象条件的greenDao queryBuilder,android,orm,greendao,Android,Orm,Greendao,我与中间的一个实体有多对多的关系 这是我的模型声明: //### Family Entity family = schema.addEntity("Family"); Property familyId = family.addIdProperty().getProperty(); family.addStringProperty("zid_family").notNull(); family.addStringProperty("zglosa"); f
//### Family
Entity family = schema.addEntity("Family");
Property familyId = family.addIdProperty().getProperty();
family.addStringProperty("zid_family").notNull();
family.addStringProperty("zglosa");
family.addStringProperty("zidioma");
family.addIntProperty("zposicion");
family.addIntProperty("zestado");
//### Tax Family
Entity taxFamily = schema.addEntity("TaxFamily");
Property taxFamilyId = taxFamily.addIdProperty().getProperty();
taxFamily.addStringProperty("zid_family").notNull();
taxFamily.addStringProperty("zid_tax").notNull();
//### Tax
Entity tax = schema.addEntity("Tax");
Property taxId = tax.addIdProperty().getProperty();
tax.addStringProperty("zid_tax").notNull();
tax.addStringProperty("zglosa");
tax.addStringProperty("zpais");
tax.addIntProperty("ztype");
tax.addFloatProperty("zvalor");
//@@@ Relatinships
//family
ToMany familyToTaxFamily = family.addToMany(taxFamily, taxFamilyId);
familyToTaxFamily.setName("taxs_family");
familyToTaxFamily.orderAsc(taxFamilyId);
//tax
ToMany taxToTaxFamily = tax.addToMany(taxFamily, taxFamilyId);
taxToTaxFamily.setName("familys_tax");
taxToTaxFamily.orderAsc(taxFamilyId);
taxFamily.addToOne(family, familyId);
taxFamily.addToOne(tax, taxId);
问题是,我找不到实现以下内容的方法和任何文档:
List<Tax> result = taxDao.queryBuilder().where(taxDao.Properties.Ztype.eq(TAX_DETAIL_TYPE)).and(ImpuestoDao.ToMany("familys_tax").Zid_family.eq(ID_FAMILY)).list();
更新:
如果不清楚:
我需要这样的谓词
type == <TYPE_TAX> AND ANY familys_tax.id_family == <ID_FAMILY>
任何家族的纳税对象的id家族都等于id家族
非常感谢 greenDao不支持与queryBuilder的连接 仅与queryRaw连接 我的情况是:
String stringRawquery = ", TaxFamily TFAM WHERE T.ZTyPe=" + TAX_TYPE + " AND IFAM.ZID_FAMILY='"+idFamily+"' AND IFAM.ZID_TAX = T.ZID_TAX";
List<Tax> result = taxDao.queryRawCreate(stringRawquery).list();