GORM中的關聯

GORM中的關聯

1.       One-to-one:使用 belongsTo 來設置

   class Face {
    Nose nose
}
class Nose {       
        static belongsTo = [face:Face]
}

 

2.     One-to-many:在Grails 中定義這樣的關聯可以使用 hasMany

   class Author {
    static hasMany = [ books : Book ]

    String name

}

class Book {

        String title

}

默認的級聯行爲是級聯保存和更新,但不刪除,除非 belongsTo 被指定:

class Author {
    static hasMany = [ books : Book ]

    String name

}

class Book {

        static belongsTo = [author:Author]

        String title

}

 

3.     Many-to-many:通過在關聯雙方定義 hasMany ,並在關聯擁有方定義 belongsTo

 class Book {
   static belongsTo = Author
   static hasMany = [authors:Author]
   String title
}
class Author {
   static hasMany = [books:Book]
   String name
}

 

4.       集合類型基礎

GORM 將使用一個鏈接表,來映射上面的關聯。你可以使用joinTable參數來改變各式各樣的連接表映射:

class Person {
    static hasMany = [nicknames:String]

    static mapping = {

       hasMany joinTable:[name:'bunch_o_nicknames', key:'person_id', column:'nickname', type:"text"]      

    }

}

發佈了47 篇原創文章 · 獲贊 8 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章