有人可以创建一个greendao(或android sqllite)查询以获得与下一个sql查询相同的结果吗?需要在greendao中加入查询
的选择B *,a.MAIN_CATEGORY_ID从MAINCATEGORYS_TO_LISTINGS一个 加入上b._id = a.MAIN_CATEGORY_ID APMAIN_CATEGORY b,其中listing_id = 10120
有人可以创建一个greendao(或android sqllite)查询以获得与下一个sql查询相同的结果吗?需要在greendao中加入查询
的选择B *,a.MAIN_CATEGORY_ID从MAINCATEGORYS_TO_LISTINGS一个 加入上b._id = a.MAIN_CATEGORY_ID APMAIN_CATEGORY b,其中listing_id = 10120
这将在greenDAO 1.4的支持,这将很快被释放。如果您想从早期版本的“加入”分支构建greenDAO:https://github.com/greenrobot/greenDAO/tree/join
您可以在GreenDao中使用queryRaw()
方法。
如果我理解你正在尝试做正确,例如:
session.getMainCategoryDao().queryRaw(
" inner join " + MainCategoryToListingsDao.TABLENAME + " MCL "
+ " on T._id = MCL." + MainCategoryToListingsDao.Properties.MainCategoryId.columnName
+ " where MCL." + MainCategoryToListingsDao.Properties.ListingId.columnName
+ " = ?", listing.getId());
这是一个有点难看,但应该工作。当然,你将不得不根据你的DAO的命名方式进行修改,并且可能会如何命名你的属性。但是,当GreenDao在查询中为主表命名时,它被T重名并且主键为_id
他们休息了,您可以使用DAO的属性进行拉取。