2014-04-01 38 views
1

我想使用GreenDao構建以下查詢。GreenDao查詢OR內和

select * from luckydrawclick e where e.user = ? and (e.id = ? or e.id = ? or e.id = ? or e.id = ? or e.id = ?); 

以下是我目前爲止的內容。

List<LuckyDrawClick> luckyDrawClicks = luckyDrawClickDao.queryBuilder().where(Properties.User.eq(currentUser)).and(**********).list(); 

我需要放置什麼,**********是哪裏?

回答

6

我已經找到了自己的問題的答案。

QueryBuilder<LuckyDrawClick> qb = luckyDrawClickDao.queryBuilder();  
qb.where(Properties.Id.in(ids), Properties.User.eq(currentUser)); 
List<LuckyDrawClick> luckyDrawClicks = qb.list(); 
+0

謝謝! 「qb.and()」改爲「qb.where(Condition1,Conditions2,...)」,並將「qb.or()」改爲「qb.whereOr(C1,C2,...)」, 「 – Sergio

+0

@Sergio他沒有使用或條件他在表達式中使用(這似乎是一個很好的解決方案) – AlexS

5

QueryBuilder.and()QueryBuilder.or()用於結合WhereCondition秒。 產生的WhereCondition必須在QueryBuilder.where()(它將結合使用AND的條件)或QueryBuilder.whereOr()內部使用。

+0

這無助於理解以下java文檔:QueryBuilder.and()通過組合創建WhereCondition (WhereCondition,WhereCondition ...)或WhereOr(WhereCondition,WhereCondition,WhereCondition ...)。 – Sergio

+0

@Sergio我不明白你的意見。我的帖子差不多就像你引用的文檔一樣,你的意思是我應該發佈一個更具體的代碼示例? – AlexS