2

我正在关注关于复合类型的官方 psql 用户指南(https://www.postgresql.org/docs/current/rowtypes.html)并尝试为https://impossibl.github.io/pgjdbc-nginventory_item类型实现 SQLData /docs/current/user-guide/#_java_sql_sqldata

据我了解,SQLData 实现的类型映射应附加到活动连接。在我的情况下这并不容易(我正在使用 clojure + clojure.java.jdbc + 连接池)。此外,将其添加到每个连接中感觉不正确。

有没有办法只设置一次映射,以便每个连接都使用它?

SQLData 的虚拟实现(还只读)

(deftype InventoryItem []
  java.sql.SQLData
  (getSQLTypeName [_]
    "inventory_item")
  (readSQL [_ stream _type]
    {:name        (.readString stream)
     :supplier-id (.readInt stream)
     :price       (.readBigDecimal stream)})
  (writeSQL [_ stream]))
4

0 回答 0