私はプロジェクトにJDBI/Dropwizardを使用しており、簡単なクエリを実行したいと考えています。JDBIでIN句の文字列のリストを使用
private static final String GET_STUFF = "SELECT * FROM myTable WHERE state IN (:desiredState)"
私はそうのように私の方法で変数をバインドします:実行している場合
は、しかし、私は次のエラーを取得する:私は、クエリとても似てい
org.skife.jdbi.v2.exceptions.UnableToCreateStatementException:
Exception while binding 'desiredState'....
Caused by: org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of java.util.ArrayList. Use setObject() with an explicit Types value to specify the type to use.
私はstates
をString型のArrayList
として渡しているので、ここでは何が起こっているのかちょっと混乱しています。誰でもJDBIでIn
を行う正しい方法を知っていますか?
と書く必要があります。[Jdbi - Javaでリストパラメータをバインドする方法は?](http://stackoverflow.com/questions/32526233/jdbi-how-to-bind-a -list-parameter-in-java) – pozs