QueryBuilder<Answer, Integer> queryBuilder = helper.getAnswerDao().queryBuilder();
QueryBuilder<Question, Integer> questionQueryBuilder = helper.getQuestionDao().queryBuilder();
questionQueryBuilder.where().eq(Question.TYPE_COLUMN_NAME, "table");
queryBuilder.leftJoin(questionQueryBuilder);
queryBuilder.where().eq(Answer.PICKED_COLUMN_NAME, true);
pickedAnswers = queryBuilder.query();
Run Code Online (Sandbox Code Playgroud)
生成的SQL语句:
SELECT `Answers`.*
FROM `Answers`
LEFT JOIN `Questions` ON `Answers`.`questionId` = `Questions`.`id`
WHERE `Answers`.`picked` = 1
AND (`Questions`.`type` = 'table' )
Run Code Online (Sandbox Code Playgroud)
由于"AND"逻辑运算,此查询返回空结果集.这是ORMLite的默认行为.是否有可能改变"OR"操作与子句结合的地方?
我试过:所有方法queryBuilder.where().or()之前queryBuilder.where().eq(Answer.PICKED_COLUMN_NAME, true)和queryBuilder.where().or(2)之后where().
| 归档时间: |
|
| 查看次数: |
2904 次 |
| 最近记录: |