2013-12-20 5 views
0

У меня есть иерархия родительских дочерних элементов, которую я сохраняю в отдельной таблице, сохраняя собственный внешний ключ. Столами моей таблицы являются ID, Name, ParentID. Здесь ParentID ссылается на столбец ID той же таблицы.Отображение иерархических данных с использованием Spring JDBC Rowmapper

И моя модель класса, как,

Class Model 
{ 
    private int id; 
    private String name; 
    private Model parent; 
    private List<Model> children; 
} 

Как я могу использовать RowMapper для отображения данных в этой модели? Или, что является лучшим способом достичь этого?

Я извлекаю всю иерархию в одном запросе.

ответ

0

Создайте поле в своей RowMapper - Карта. Когда вы анализируете результат, поместите все элементы модели также на карту, где ключ является идентификатором элемента.

Чтобы добавить ребенка к соответствующему родительскому объекту, прочитайте родительский элемент модели с карты по родительскому идентификатору элемента curretn.

2 вещи упомянуть

Корневой элемент не имеет родителя. Ваш запрос должен содержать правильный порядок (сначала необходимо обработать родительский элемент)

Смежные вопросы