Ormlite 更改查询顺序
Posted
技术标签:
【中文标题】Ormlite 更改查询顺序【英文标题】:Ormlite change order of query 【发布时间】:2019-04-20 22:19:36 【问题描述】:我在 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】:根据this,最简单的方法是:
TAbleA.queryBuilder()
.where()
.eq("col1", Wait)
.eq("col2", Fail)
.or(2)
.isNull("col3")
.le("col4", fromThisTime)
.or(2)
.and(2)
.prepare();
否则,您可以使用 post-order
编写复杂的查询【讨论】:
以上是关于Ormlite 更改查询顺序的主要内容,如果未能解决你的问题,请参考以下文章
ORMLite 更改 onUpgrade 中的 allowGeneratedIdInsert