singalen: (humpty-dumpty)
[personal profile] singalen
Позор джунглям!

Пилю Выбираю я дерево, знаю только синтаксис Оракла... и узнаю, что в SQL появились такие себе "подпрограммы"!

И от как оно выглядит (источник).
WITH n (level, id, name) AS 
  (SELECT 1, id, name 
   FROM emp
   WHERE name = 'Goyal'
   UNION ALL
   SELECT n.level+1, nplus1.id, nplus1.name 
   FROM emp as nplus1, n
   WHERE n.id = nplus1.manager_id)
SELECT name, level FROM n;


Пора на свалку.

Пункт второй.

В Hibernate давно уже думают - а не закодировать ли ORM для дерева, чтобы рекурсивное дерево можно было выбрать одним запросом.

И, конечно, всё никак не прикрутят.

Кто тоже забыл структуры данных — напоминаю: это делается минимум двумя способами, nested set/interval, и materialized path. В первом случае в записи хранятся ещё и индексы поддерева в отображении на отсортированный массив, а во втором - тупо путь к элементу.

Ещё можно, к примеру, проставить в записях их порядковые номера при обходе дерева. Автор статьи, правда, этого тоже не пробовал.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting