Я хочу моделировать иерархические данные в Hibernate (а также в GAE).Дерево (иерархическая) Структура в спящем режиме и GAE
Структура сущность аналогична, как показано ниже:
class Node<T>
{
Long id;
T nodeValue;
Node<T> parent;
List<Node<T>> children;
}
Я в порядке с использованием JPA аннотаций, если это необходимо (который я думаю, будет).
Следующие функции должны быть поддерживаемым:
-
Добавление нового корня (может быть несколько деревьев в базе данных - с. Можете обойтись без этого, если это может привести к созданию не стартера (используя некоторый «невидимый корневой узел правого деда»)parent = null
) - Добавление нового узла в любой родительский
- Удаление узла и его полного подкаталога, структура дерева
- Обновление узла (скажем, изменение родительских/детей и т.д.)
- Возможность путешествовать сверху вниз, а также снизу вверх внутри дерева
- И самое главное ... Дано
id
, способность к забрать конкретный узел и затем перемещаться вверх (путь предка)/вниз (детский путь)
Дополнительная информация (обновления)
Вот что я логически хочу добиться:
- Есть плоский список категорий в таблице. Эти категории не имеют отношения друг к другу
- У вас есть таблица, которая создаст несколько «наборов иерархий» для этих категорий.
Зачем мне это нужно?
Я создаю приложение, в котором документы могут быть представлены этим категориям.
Однако каждый пользователь может иметь другую точку зрения на те же категории. Например, я могу создать hierachy Company -> Departments -> HR -> World -> Asia -> India
, тогда как кто-то другой может захотеть увидеть Company -> World -> Asia -> India -> Departments -> HR
.
Любая помощь в моделировании этой структуры будет отличной.
И вопрос .. .? – Kel
Пожалуйста, помогите мне смоделировать сущность (при необходимости добавьте несколько элементов) и создать соответствующую конфигурацию (аннотация, файл hbm.xml и т. Д., Что бы ни требовалось). :) –