Мне нравится иметь такой запрос:
select data from table
where (x > 1 and x < 100)
or (x > 250 and x < 300)
В ORMlite возможно использование этого кода:
final QueryBuilder<Data,Integer> qb = queryBuilder();
final Where<Data, Integer> w = qb.where();
w.or(
w.gt("x", 1).and().lt("x", 100),
w.gt("x", 250).and().lt("x", 300)
)
Хотя это здорово, если заранее знать условия и во время кодирования, мне нужны условия для динамического добавления.
В принципе, этого метода public com.j256.ormlite.stmt.Where<T,ID> or(com.j256.ormlite.stmt.Where<T,ID> left, com.j256.ormlite.stmt.Where<T,ID> right, com.j256.ormlite.stmt.Where<T,ID>... others)
недостаточно.
Ему нужен еще один метод or
, который поддерживает условия ArrayList
Where
.
Спасибо за любые предложения.