Ormlite изменить порядок запроса - PullRequest
0 голосов
/ 18 ноября 2018

Я создал запрос в 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' ) 

как я могу это сделать ?!

Я хочу изменить порядок AND и OR.

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 25 ноября 2018

в соответствии с это самый простой способ:

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

в противном случае вы можете написать свой сложный запрос, используя post-order

...