Связь Apache Cayenne 1-M в одной таблице

Я создаю систему, которая позволяет перетаскивать элементы или посадочные площадки на другие посадочные площадки. Таким образом, модель будет представлять собой дерево посадочных мест с элементами на листе.

Я хочу использовать apache cayenne для хранения этих данных. Идеальной ситуацией было бы вызвать LandingSpace.getChildren() для класса cayenne «LandingSpace» и получить дочерние элементы, которые содержат посадочные места и/или элементы.

По сути, я хочу создать отношение 1-M из таблицы к самой себе. Есть ли способ, которым это может быть достигнуто?

Большое спасибо


person Tom Hadkiss    schedule 05.02.2014    source источник
comment
Не могли бы вы прокомментировать полученный ответ. Это сработало для вас? Если да, отметьте его как принятое.   -  person andrus_a    schedule 08.02.2014


Ответы (1)


Конечно. Отношение к себе — это просто еще одно отношение в Кайенне. Начните с этой модели таблицы:

LANDING_SPACE
   ID        # PK
   PARENT_ID # FK to parent
   ...       # other columns

И сопоставьте пару отношений по объединению ID/PARENT_ID: «родительский» (к одному) и «дочерний» (ко многим)

person andrus_a    schedule 06.02.2014