有人可以創建一個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的屬性進行拉取。