title: Use a list of strings in IN clause with JDBI
body: <p>I'm using JDBI / Dropwizard for a project and would like to run some simple queries. I have a query like so:</p>
  
  <p><code>private static final String GET_STUFF = "SELECT * FROM myTable WHERE state IN (:desiredState)"</code></p>
  
  <p>I bind the variable in my method like so:</p>
  
  <pre><code>@Mapper(MyType.class)
  @SqlQuery(GET_STUFF)
  public MyType getStuff(@Bind(desiredState) List&lt;String&gt; states);
  </code></pre>
  
  <p>However, I get the following error when running:</p>
  
  <pre><code>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.
  </code></pre>
  
  <p>I'm passing in <code>states</code> as an <code>ArrayList</code> of type String, so I'm a bit confused what's going on here. Does anyone know the correct way to do <code>In</code> with JDBI?</p>