greenDAO:比较两个属性

dav*_*ave 3 sqlite android greendao

我相信这应该很简单,但我似乎无法找到解决方案.

假设我有一个包含5个字段的表(id,颜色,大小,扫描,预期)

如何获得预期大于扫描的所有行?

我试过了

mydao.Property.Expected.gt(mydao.Property.Scanned).list()
Run Code Online (Sandbox Code Playgroud)

但是这会返回0行.使用LOG_SQL布尔我可以看到它正在查找属性字段,而不是字段的值.

D/greenDAO: Values for query: [0, de.greenrobot.dao.Property@33ecce97]
Run Code Online (Sandbox Code Playgroud)

Mar*_*ger 6

greenDAO的QueryBuilder API不支持(尚未).您必须使用原始查询.

它看起来像这样:

Query myQuery = myDao.queryBuilder().where(new StringCondition(
    Property.Expected.columnName + " > " + Property.Scanned.columnName)).build();
Run Code Online (Sandbox Code Playgroud)

PS.:如果您想跟踪未来的greenDAO版本,我还创建了一个功能请求.