I'm trying to do a IN query using MYSQL JDBI on Dropwizard (not relevant, I assume).
@SqlQuery("SELECT id FROM table where field in (<list>)")
List<Integer> findSomething(@BindIn("list") List<String> someList);
As suggested here, I've also annotated the class with
@UseStringTemplate3StatementLocator
But when I'm starting the application, I get the following error:
Exception in thread "main" java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.skife.jdbi.v2.sqlobject.stringtemplate.UseStringTemplate3StatementLocator.errorListener()
Does anyone have a good idea on how to solve this issue?
I think, you use the StringTemplate 4
.
You need to use StringTemplate 3
instead of StringTemplate 4
. Add this dependency:
<dependency>
<groupId>org.antlr</groupId>
<artifactId>stringtemplate</artifactId>
<version>3.2.1</version>
</dependency>