0

重複の可能性:
Grails / GORM:1:N関係でのbelongsToの意味

私はbelongsToアソシエーションを持つ2つのドメインクラスを持っています

      class Teacher {
         String name
         String department
      }

      class Address {
        String line1
        String line2

       // Teacher teacher  //this line is commented.
       static belongsTo = [teacher: Teacher]

        static constraints = {
        }
     }
  1. 住所をTeacherに所属させるとどのようなメリットがありますか
  2. Addressクラスで教師オブジェクト参照を宣言する必要がありますか(Teacherクラスのコメント行を参照)
4

2 に答える 2

1

このbelongsTo句を使用する目的は、あるクラスから別のクラスへの双方向アクセスを実現することです。membersTo のドキュメントを参照してください。

2 番目の teacher の宣言 (コメントアウト) は省略できます。

したがって、次のようになります。

  class Teacher {
     String name
     String department

     Set<Address> adresses = new HashSet<Address>() // here you could set a specific list/set data holder
     static hasMany = [adresses:Address]
  }

  class Address {
    String line1
    String line2

   static belongsTo = [teacher: Teacher]

    static constraints = {
    }
 }

ここでは、両方のクラスが相互にアクセスできる 1 対多の関連付けがあります。句を削除するとbelongsTo、アドレス オブジェクトから教師オブジェクトにアクセスできなくなります。これはデータベースにも反映されます。

于 2012-06-21T06:22:08.007 に答える
1

belongsTo の目的は関係を双方向にすることではありません - 目的は、関連付けのどちら側が所有権を取得するかを指定し、カスケード保存操作と削除操作の動作を定義することです

このドキュメントを読んで、begsTo について知っておく必要があるすべてのことを説明します。

于 2012-06-21T09:01:03.270 に答える