2009-11-24 4 views
4

Мне нужен способ иметь класс домена, чтобы иметь многие из себя. Другими словами, существуют отношения между родителями и детьми. В таблице, в которой я работаю, есть данные, а затем столбец с именем «parent_id». Если какой-либо элемент имеет родительский набор, он является дочерним элементом этого элемента.Отношение класса домена Grails к самому себе

Есть ли какой-либо способ в Grails рассказать hasMany, какое поле искать для справки?

ответ

6

Это пример того, что вы ищете (это код фрагмента, который я запускаю, и он генерирует столбец parent_id). Я не думаю, что вам нужно SortedSet:

class NavMenu implements Comparable { 
    String category 
    int rank = 0 

    String title 
    Boolean active = false 

    //NavMenu parent 
    SortedSet subItems 
    static hasMany = [subItems: NavMenu] 
    static belongsTo = [parent: NavMenu] 
    } 

Кроме того, вы можете дать имя к статье hasMany с помощью Mapping DSL, который объясняется в http://grails.org/GORM+-+Mapping+DSL

+3

Вы должны добавить ограничение: статические ограничения = { parent (nullable: true)} В противном случае вы не сможете сохранить корень с тех пор. –

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