在绿色DAO中排序



原始查询:

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();

这个普通的加入工作完美。但是我需要对表 SavedJob 中的date_saved列进行排序。

我试图添加这一行:

queryBuilder.orderDesc(SavedJob2Dao.Properties.date_saved);

但是此行返回此错误:

属性"date_saved"不是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。它适用于对象,因此在已保存的作业中,您应该有一个对象作业而不是job_id。

因此,您可以按date_saved排序,但仅在 savedJob 中搜索,您不需要任何 JOIN。

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

相关内容

  • 没有找到相关文章

最新更新