Возможно ли иметь необязательные (нулевые) параметры с запросами jDBI? Я пытаюсь получить дополнительные параметры, работающие в запросе базы данных. Я работаю с dropwizard.Необязательный параметр jDBI
@SqlQuery("SELECT * \n" +
"FROM posts \n" +
"WHERE (:authorId IS NULL OR :authorId = author_id)")
public List<Post> findAll(@Bind("authorId") Optional<Long> authorId);
Запрос работает, когда прошел AuthorID, но дает мне эту ошибку, когда он является NULL:
org.postgresql.util.PSQLException: ERROR: could not determine data type of parameter $1
Это маршрут ресурс я звоню из:
@GET
public ArrayList<Post> getPosts(@QueryParam("authorId") Long authorId)
{
return (ArrayList<Post>)postDao.findAll(Optional.fromNullable(authorId));
}
Из того, что я читал, это можно сделать, поэтому я предполагаю, что у меня что-то отсутствует или явная ошибка. Любая помощь будет принята с благодарностью!
FYI - Я также пробовал его без guava Необязательный (который поддерживается dropwizard) - просто отправка authorId как Long, который является нулевым. Это также работает до тех пор, пока оно не является нулевым.
Вы должны проверить [jdbi сообщество] (http://jdbi.org/community.html) – zloster
Благодаря @zloster, я отправил это там. – nckturner