Я использую Hibernate/Spring и базу данных MySQL для управления данными.Сохранение древовидных структур в Базах данных
В настоящее время я отображаю древовидную структуру в JTable. Дерево может иметь несколько ветвей, в свою очередь, ветка может иметь несколько ветвей (до девяти уровней) снова или иметь листья. В последнее время у меня есть проблемы с производительностью, как только я хочу создавать новые ветки на более глубоких уровнях.
В это время филиал имеет внешний ключ для своего родителя. Объект domainobject имеет доступ к его родительскому объекту, вызывая getParent(), который возвращает родительскую ветвь. Чем глубже уровень, тем больше времени требуется для создания новой ветки.
результаты Microbenchmark для создания новой отрасли, как:
Уровень 1: 32 мс. Уровень 3: 80 мс. Уровень 9: 232 мс.
Очевидно, что за это отвечает уровень (что означает количество родителей). Поэтому я хотел спросить, есть ли какие-либо придатки для решения этой проблемы. Я не понимаю, почему Hibernate должен знать обо всем дереве объектов (все родители до корня) при создании новой ветви. Но насколько я знаю, это может быть единственной причиной задержки при создании новой ветви, потому что ветка не имеет каких-либо других отношений с другими объектами.
Я был бы очень благодарен за любые обходные пути или предложения.
здоровается, ymene
, наконец, моя регистрация openId работала. Я буду информировать вас, какое решение лучше всего подходит для меня, и оценил u для вашей помощи. Большое спасибо всем. – crusam