尝试使用YeSQL执行sql查询时出错。
db-spec HikariProxyConnection wrapping org.postgresql.jdbc4.Jdbc4Connection is missing a required parameter
我在我的SQL文件中定义了一个find-by-id
函数,如下所示:
-- name: find-by-id
-- Selects the filepath to a menu by id
SELECT filepath FROM menu WHERE id = :id;
我正在调用这样创建的函数:
(find-by-id {:id "123"} {:connection (jdbc/get-connection {:datasource datasource)})
我的数据源定义如下:
(def spec {:maximum-pool-size 3
:adapter "postgresql"
:username "user"
:database-name "dbname"
:server-name "localhost"
:port-number 5432})
(def datasource (make-datasource spec))
我可以使用完全相同的连接映射将其传递给with-db-transaction
并使用返回的连接,但由于某种原因它不能像这样工作。
答案 0 :(得分:1)
找到解决方案:
要获得一个可以使用数据源传递给YeSQL查询的jdbc/get-connection
连接对象,显然你必须像这样创建它:
(defn get-connection
[db]
{:connection (jdbc/get-connection {:connection {:datasource datasource})})
感谢您在评论中提供的帮助!