(快速參考)

belongsTo

用途

定義「屬於」關係,其中由 belongsTo 指定的類別假設關係的所有權。這會控制儲存和刪除如何串接。確切的行為取決於關係的類型

  • 多對一/一對一:儲存和刪除會從擁有者串接至依賴者(具有 belongsTo 的類別)。

  • 一對多:儲存會從一端串接至多端,但如果多端有 belongsTo,則刪除也會朝該方向串接。

  • 多對多:只有儲存會從「擁有者」串接至「依賴者」,刪除則不會。

範例

class Book {
   String title

   static belongsTo = [author: Author]
}

在此範例中,Book 類別指定它屬於 Author 類別,因此當刪除 Author 執行個體時,其所有關聯的 Book 執行個體也會被刪除。

說明

belongsTo 屬性抽象了 Hibernate 中串接行為的性質。如果您希望一個類別屬於另一個類別,但沒有反向參考,則可以將類別或類別清單指定為值

class Book {
    static belongsTo = Author
}

class Book {
    static belongsTo = [Author, Library]
}

反向參考,即連結回擁有者的屬性,可以用兩種方式新增

class Book {
    Author author

    static belongsTo = Author
}

class Book {
    static belongsTo = [author: Author]
}

在這些範例中,這兩種技術都會建立一個名為 authorAuthor 屬性。此外,如果類別屬於多個擁有者,Map 屬性可以指定多個屬性和類型。

belongsTo 屬性很簡單,表示您不必擔心 Hibernate 層疊策略,但如果您需要更精細地控制層疊,可以使用 ORM DSL。這允許精細地控制層疊更新和刪除。