2

グレイルでは、一方向の1対1の関係を指定する場合、次のいずれかを実行できます。

class MyDomainClass {
   AnotherDomainClass another
}

また

class MyDomainClass {
   static hasOne = [another:AnotherDomainClass]
}

セマンティクスが異なることは知っていますが、どちらの方法でもこの関係が確立されます。

hasMany関係を作成するとき、私は次のことができます。

class MyDomainClass {
  static hasMany = [others:AnotherDomainClass]
}

しかし、私はできないようです:

class MyDomainClass {
  List<AnotherDomainClass> others 
}

編集:明確化。まだhasManyの関係を維持したいのですが、変数List<AnotherDomainClass> othersなしで宣言するだけでそれが可能かどうか疑問に思っています。hasMany宣言List<AnotherDomainClass>するだけで結合テーブルが自動的に作成されることを期待していました。

4

1 に答える 1

1

はい、できます。両方を宣言するだけです。

class MyDomainClass {

  List<AnotherDomainClass> others 

  static hasMany = [others:AnotherDomainClass]

}

フィールドを宣言しない場合、Grailsは自動的にを作成Setします。

于 2012-10-15T16:52:29.020 に答える