有人可以创建一个greendao(或android sqllite)查询,以获得与下一个sql查询相同的结果吗?
从MAINCATEGORYS_TO_LISTINGS中选择b。*,a.MAIN_CATEGORY_ID 在b._id = a.MAIN_CATEGORY_ID上加入APMAIN_CATEGORY b,其中listing_id = 10120
答案 0 :(得分: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的属性拉。
答案 1 :(得分:0)
这将在greenDAO 1.4中得到支持,它将很快发布。如果想要你可以从“join”分支构建greenDAO以获得它的早期版本:https://github.com/greenrobot/greenDAO/tree/join