2013-02-20 5 views
0

У меня возникли проблемы с получением отношений от одного до многих в граале, которые работают нормально. У меня есть экземпляр человека, и у этого человека есть отношения с другими людьми. Это отношение определено в объекте отношений. Соответствующий код выглядит следующим образом.Отношения «один ко многим» не работают должным образом

class Person { 
    static hasMany = [relationships:Relationship] 
    String name 

} 

class Relationship { 
    Person relationShipTo 

    // Enum containing married, living together, parent etc. 
    RelationshipType typeOfRelationship 
} 

Теперь то, что я хочу, это один ко многим ссылки на эти отношения, чтобы быть долгоживущим, но то, что происходит в Грааль, что это, кажется, думает экземпляр relationShipTo имеет в виде вернуться к Человеку, который имеет эти отношения с кем-то еще , а не другому лицу. Итак, у человека есть ссылка на отношения, и это отношение имеет тип и ссылку на человека, с которым у вас есть отношения. Я не могу изменить модель домена для этого. Есть ли способ выполнить то, что я хочу?

Что происходит в настоящее время, если я использую сгенерированные представления и контроллеры для отношения и пытаюсь создать связь с типом и человеком, на который он ссылается, сохраняется только тип, и человек игнорируется. Когда я затем пытаюсь добавить его к человеку в редактировании или создании страницы, все свойства отношений matchShipTo, которые я добавляю, сохраняются с идентификатором человека.

Надеюсь, что я написал, это понятно.

ответ

0

Наконец-то он работает.

Пришлось добавить статическое сопоставлениеBy = [отношение: «принадлежит To»] лицу и статическому принадлежит Too = [принадлежит To: Person].

Не совсем, как я хотел, но это работает, и это нормально компромисс

+0

Можете ли вы к этому добавить ответ код с изменениями, которые вы сделали? :) – lucke84