在GreenDAO中排序

时间:2017-03-29 08:34:31

标签: android database greendao

原始查询:

SELECT * FROM SAVED_JOB2 S, JOB J WHERE J._id=S._id ORDER BY DATE_SAVED DESC

如何在JOIN表中实现对列的排序。我试过了:

QueryBuilder<Job> queryBuilder = daoSession.queryBuilder(Job.class);
queryBuilder.join(JobDao.Properties.Id, SavedJob2.class, SavedJob2Dao.Properties.Id);
List<Job> list = queryBuilder1.list();

这种正常的JOIN非常有效。但我需要对表date_saved中的SavedJob列进行排序。

我尝试添加此行:

queryBuilder.orderDesc(SavedJob2Dao.Properties.date_saved);

但这一行会返回此错误:

  

属性&#39; date_saved&#39;不属于com.xxx.xxx.db.JobDao

Table JobDao: 
id (PK)
title
description
requirements
allowance
type
status

Table SavedJobDao:
id (PK autoincrement)
j_id (FK to JabDao)
date_saved
status

1 个答案:

答案 0 :(得分:0)

您无需与greenDao进行任何联接。它适用于对象,所以在你的savedJob中你应该有一个对象Job而不是job_id。

所以你可以通过date_saved订购,但只在savedJob中搜索,你不需要任何一个JOIN。

有很多例子。官方文档真棒!。