Вы должны понять следующую часть API:
public interface Condition {
Condition and(Condition other);
Condition or(Condition other);
}
Таким образом, любой Condition
может быть связан с другими Conditions
использованием and()
/or()
методы (и другие). В вашем случае, вы можете сформировать свои условия легко, как это:
Condition c1 = a.equal(query);
Condition c2 = b.equal(query);
Condition c3 = a.equal(query);
Condition d1 = e.equal(query);
Condition d2 = g.equal(query);
Condition d3 = z.equal(query);
Теперь эти условия могут быть подключены как таковой:
c1.or(c2).or(c3).and(d1.or(d2).or(d3));
Или положить в SQL заявление:
create.select()
.from(table)
.where(c1.or(c2).or(c3)
.and(d1.or(d2).or(d3)));
Разумеется, вам не нужно присваивать переменные переменные c[1-3], d[1-3]
. Вы можете встраивать все в одном операторе:
create.select()
.from(table)
.where(a.equal(query).or(b.equal(query)).or(a.equal(query))
.and(e.equal(query).or(g.equal(query)).or(z.equal(query)));
Вы найдете более подробную информацию в руководстве:
http://www.jooq.org/doc/3.0/manual/sql-building/conditional-expressions/