在 GreenDAO 中排序
Sort in GreenDAO
原始查询:
SELECT * FROM SAVED_JOB2 S, JOB J WHERE J._id=S._id ORDER BY DATE_SAVED DESC
如何实现对 JOIN 中列的排序 table。我试过:
QueryBuilder<Job> queryBuilder = daoSession.queryBuilder(Job.class);
queryBuilder.join(JobDao.Properties.Id, SavedJob2.class, SavedJob2Dao.Properties.Id);
List<Job> list = queryBuilder1.list();
这个正常的 JOIN 工作完美。但是我需要对 table SavedJob
.
中的 date_saved
列进行排序
我尝试添加这一行:
queryBuilder.orderDesc(SavedJob2Dao.Properties.date_saved);
但是这一行returns这个错误:
Property 'date_saved' is not part of 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
您不需要使用 greenDao 进行任何 JOIN。它适用于对象,因此在您的 savedJob 中您应该有一个对象 Job 而不是 job_id.
因此您可以按 date_saved 排序,但仅在 savedJob 中搜索,您不需要 JOIN。
有很多例子。官方文档很棒!
原始查询:
SELECT * FROM SAVED_JOB2 S, JOB J WHERE J._id=S._id ORDER BY DATE_SAVED DESC
如何实现对 JOIN 中列的排序 table。我试过:
QueryBuilder<Job> queryBuilder = daoSession.queryBuilder(Job.class);
queryBuilder.join(JobDao.Properties.Id, SavedJob2.class, SavedJob2Dao.Properties.Id);
List<Job> list = queryBuilder1.list();
这个正常的 JOIN 工作完美。但是我需要对 table SavedJob
.
date_saved
列进行排序
我尝试添加这一行:
queryBuilder.orderDesc(SavedJob2Dao.Properties.date_saved);
但是这一行returns这个错误:
Property 'date_saved' is not part of 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
您不需要使用 greenDao 进行任何 JOIN。它适用于对象,因此在您的 savedJob 中您应该有一个对象 Job 而不是 job_id.
因此您可以按 date_saved 排序,但仅在 savedJob 中搜索,您不需要 JOIN。
有很多例子。官方文档很棒!