Я создаю REST-сервис в Grails для приема данных из скрипта Python.Скрипт python генерирует XML-представление графа объекта и передает его контроллеру.Все отлично работает для моих плоских объектов, но я не могу понять, как справиться со случаем, когда доменный объект содержит набор дочерних объектов.По несвязанным причинам мой уровень DOA - это чистый Java JPA.
Например, классы моего домена (не считая getters / setters / etc):
class Schedule {
String name;
@OneToMany;
HashSet<Step> steps;
}
class Step {
String name;
@ManyToOne;
Schedule schedule;
}
Мой скрипт на python генерирует XML подобноследующее:
<schedule>
<name>Foo</name>
<steps>
<step>
<name>Bar</name>
</step>
<step>
<name>Blatz</name>
</step>
</steps>
</schedule>
В моем контроллере у меня есть это:
def save = {
def schedInstance = new Schedule(params['schedule'])
...
}
Свойство steps никогда не заполняется.Если я дам параметры в журнал, все данные шагов будут сжаты вместе (В моем примере выше это приведет к шагам: «BarBlatz»
Я должен сделать что-то ужасно неправильно. Я мог бы представить, что этоОбщая задача. Все, что я смог найти о вложенных объектах, связано с объектами команд. Я не хочу дублировать мой код объекта домена в объекте команд, если я могу избежать этого.