異なるドメイン クラス間の関連付けだけでなく、GORM は基本的なコレクション型のマッピングもサポートしています。. たとえば、次のクラスは、文字列インスタンスのセットであるニックネームの関連付けを作成します。
class Person {
static hasMany = [nicknames:String]
}
これにより、ニックネームが別のテーブルに保存されますperson_nicknames
。
---------------------------------------------
| person_id | nickname |
---------------------------------------------
| 1 | Fred |
---------------------------------------------
デフォルトでは、両方の列が null 可能であり、インデックスは存在しません。以下の変更を加えたいと思います
- 両方の列を null にしない
- 複合一意インデックスを配置する
(person_id, nickname)
もちろん、SQL スクリプトを実行してこれらの変更を行うこともできますが、これをドメイン モデルで表現して、スキーマの作成および更新時に GORM が実行できるようにすることは可能でしょうか?