2015-06-19 43 views
1

有人可以創建一個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

回答

1

您可以在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的屬性進行拉取。