Я читал этот сайт о стеке 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
. Как можно было сделать это?