У меня был хороший успех с SBCL и CL-SQL. CL-SQL имеет API для сопоставления объектов, но я использовал простой API SQL, который просто возвращает списки, и это работало достаточно хорошо. А в языке Clojure вы взаимодействуете с JDBC через карты или структуры {: col1 "a",: col2 "b"}, поэтому сгенерированная библиотека классов не дает вам более простого кода, язык прекрасно с этим справляется. По моему опыту, между lisp и sql меньше различий, чем между более статичными языками и sql.