查询Ormlite更改顺序

时间:2018-11-18 10:00:58

标签: java android sqlite ormlite

我已经在orm lite中创建了这样的查询:

TAbleA.queryBuilder()
                        .where()
                        .eq("col1", Wait)
                        .or()
                        .eq("col2", Fail)
                        .and()
                        .isNull("col3")
                        .or()
                        .le("col4", fromThisTime)
                        .prepare(); 

它准备此查询:

MappedStatement: SELECT COUNT(*) FROM `TableA` WHERE (((`col1` = 'Wait' OR `col2` = 'Fail' ) AND `col3` IS NULL ) OR `col4` <= '2018-11-18 13:08:03.637000' ) 

但我想将其更改为:

MappedStatement: SELECT COUNT(*) FROM `TableA` WHERE (`col1` = 'Wait' OR `col2` = 'Fail' ) AND (`col3` IS NULL OR `col4` <= '2018-11-18 13:08:03.637000' ) 

我该怎么做?

我想更改ANDOR的顺序。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

根据this,最简单的方法是:

TAbleA.queryBuilder()
                    .where()
                    .eq("col1", Wait)
                    .eq("col2", Fail)
                    .or(2)
                    .isNull("col3")
                    .le("col4", fromThisTime)
                    .or(2)
                    .and(2)
                    .prepare(); 

否则,您可以使用后订单

编写复杂的查询