ORM для Clojure?

Я читал этот сайт о стеке Clojure Web:

http://brehaut.net/blog/2011/ruut_introduction

, и это говорит о ORM Для Clojure:

«Нет SQL / Relations DB BB для Clojure по понятным причинам».

очевидная причина, по которой я могу видеть, состоит в том, что отображение объекта происходит автоматически, когда вы делаете CLOJURE.CONTRIB.SQL или CLOJUREQL. Запрос. Однако кажется, что некоторая дополнительная работа необходима, чтобы сделать однозначное или многозначное отношение (хотя, возможно, не слишком много работы).

Я нашел эту запись для одного ко многим: http://briancarper.net/blog/493/

, который я не уверен, с которым я согласен;, кажется, предполагает, что обе таблицы выталкиваются из базы данных, а затем присоединенная таблица отфильтрована в памяти. В память Практика я думаю, что SQL Qu ery будет указывать критерии где.

Итак, я оставил интересно, есть ли какой-то довольно очевидный способ автоматически делать однозначные отношения через CLOJUREQL или CLOJURE.CONTRIB.SQL? Единственное, что я могу придумать, это что-то подобное (используя типичный пример сообщения / комментария в блоге):

(defn post [id] 
    @(-> (table :posts)
        (select (where :id id))))
(defn comments [post_id]
    @(-> (table :comments) 
         (select (where :post_id post_id))))
(defn post-and-comments [id]
    (assoc (post id) :comments (comments id)))

Есть ли способ вроде вроде автоматизировать эту концепцию или это так же хорошо, как это получается?

--682622-

Удалить первые N элементов из STD :: Vector Я не могу, кажется, не могу думать о надежном способе (что также уплотняет память), чтобы удалить первые N элементов из STD :: Vector. Как можно было сделать это?

Я не могу по-видимому, подумать о надежном пути (что также уплотняет память) для удаления первых N элементов из STD :: Vector . Как можно было сделать это?

24
задан Dev Null 29 May 2019 в 07:43
поделиться