在我看来,我想要实现的目标是微不足道的;然而,我自己解决这个问题让我很头疼。
我有一个用 Clojure 编写的服务实现,它通过 JPA 与数据库后端通信。我必须做这样的事情:
(defn foo []
(let [entitymanager ... query ...]
(do
(.. entitymanager (getTransaction) (begin))
(read-from-db query) ; <-- shall be returned
(.. entitymanager (getTransaction) (commit))
)
)
)
从数据库读取返回一个值。我查看了java.jdbc包,它看起来很有希望,但我想/必须坚持使用 JPA。此外,我的问题似乎并不特定于 JPA 本身。
有没有一种惯用的方法来在 Clojure 中对返回值进行这种包装?请记住,我是 Clojure 新手。
亲切的问候!