2015-06-19 46 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的属性进行拉取。