使用类型注释时的 JDBI 查询?

JDBI query when using type annotations?

我正在编写一个需要连接到数据库的 Dropwizard 应用程序,并使用 SQL objects to query the DB, per the Dropwizard docs

我 运行 遇到的问题是当我的查询使用的类型说明符 (::) 被混淆为绑定变量时。像

SELECT (a, b, c)::user_type FROM ... WHERE id = :id

解析器正在读取 ::user_type 作为参数占位符。当我用 \ 转义它们时,它说查询没有返回任何行,但是如果我 运行 通过 psql 查询,它会返回,所以我猜它不是很简单。任何帮助将不胜感激。

谢谢! :D

最简单的解决方案是只使用 SQL-标准 CAST 语法而不是 PostgreSQL 扩展 :: 语法。

CAST (c AS user_type)