S2JDBCのwhereメソッドのin条件にListを
JavaEE勉強会の帰り道、S2JDBCのwhereメソッドでin条件に配列ではなくListを渡せるようにしてほしいという意見を聞きました。
「対応しているはずでは?」と答えてしまいましたが、SimpleWhre、Condition、Operationsのいずれでも対応していないですね。
現状は、Listを配列に変換してから指定する必要があります。
SimpleWhereの場合は、
where(new SimpleWhere().in("employeeNo", list.toArray()))
というように、toArray()を呼び出して配列に変換するだけなのでまぁいいのですが、Operations(とCondition)はタイプセーフなので、
where(in(employeeNo(), list.toArray(new Integer[list.size]{}))
と、引数ありのtoArray()を呼び出さないといけないですね。
これは面倒なので、確かにListをそのまま渡せたほうが便利そうです。