S2JDBCのWhere句

S2JDBCでAutoSelectかSimpleWhereを使ってWhere句を設定するんだけど演算の順位付け(?)を設定する方法が判らない。

例えば複合キー(id1、id2)で特定のキー(id1=1、id2=1)以外の全てを取得したい場合
(例が悪いけど・・・)


SimpleWhere w1 = new SimpleWhere().ne("id1", 1).ne("id2", 1);
SimpleWhere w2 = new SimpleWhere().eq("id1", 1).ne("id2", 1);
SimpleWhere w3 = new SimpleWhere().ne("id1", 1).eq("id2", 1);
select().where(w1).where(w2).where(w3).getSingleResult();

と書いて

WHERE (id1<>1 AND id2<>1) OR (id1=1 AND id2<>1) OR (id1<>1 AND id2=1)

みたいなWHERE句が出てくるかなぁと思ったりしたけど、やっぱり最後のw3 だけ設定されてくる。
多分上書きされてるんだと思う。

こんな場合は「自分でSQLを書く」というのが正しいんでしょうね。
なんかor()とかand()みたいなのがあった気がしたんだけど、DBFluteのまちがいかなぁ?