![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Задача -- хранить множество структур-деревьев в базе данных.
Каждое из деревьев является подмножеством (поддеревом) некого "полного дерева", содержащего все возможные ноды на максимально возможную глубину. В объектном представлении эти деревья должны выглядеть примерно как DefaultTreeModel из javax.swing.tree. Идеально было бы расширить классы этого пакета функциональностью сохранения/загрузки в/из БД (или написать свои аналоги). В реляционном представлении -- какой-то набор связанных таблиц, сгенерированных JPA (Hibernate). Помимо сохранения/загрузки деревьев и их отдельных нод, нужна следующая функциональность: - эффективно находить одинаковые ноды (в разных деревьях) -- то есть ноды находящиеся на одном и том же месте в "полном дереве" и содержащие одинаковую юзер-инфо. Может кто видел какие-нибудь реализации похожей функциональности..? Например, как тут -- полезно было почитать... Любые мысли и рассуждения в тему -- приветствуются... В идеале хотелось бы сделать через ORM, но если найти эффективное прямое решение -- было бы отлично... (это тоже вопрос -- имеет ли смысл в таких не совсем стандартных задачах опираться на ORM-фреймворк..). |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Деревья Hibernate'ом делал кто-нибудь?
|
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Результат если кому-нибудь станет интересно:
решил через сохранение деревьев способом так называемых "вложенных множеств" (nested sets) -- очень эффективная методика, меня впечатлила. Почитать об этом способе хранения деревьев можно здесь или здесь. После того как таблицы спроектированы в соответствие с этим способом -- сверху легко натягивается обычный хиберэйтовый мэпинг и дальше по накатанной.. |
|||
|
||||
| semenyuk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 4.10.2009 Репутация: нет Всего: нет |
А можно не большой пример, демонстрации дерева. и работы с деревом использую hibernate?
|
|||
|
||||
| firedrago |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 22.9.2005 Репутация: 2 Всего: 3 |
вот делал когда-то ..... >>>>>>
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |