私は2つのオブジェクト、ObjectA
とObjectB
を持っています。GORMでオプションの1対1リレーションシップを使用するにはどうすればよいですか?
ObjectA
が作成される、ObjectB
は(これは、まだデータがないし、できない)しないがまだ存在します。 ObjectB
一旦
が作成され、それが適切なものがが存在する場合、対応するObjectA
がに取り付けられている必要があります。適切なObjectA
がない場合、新しいObjectB
は単に1つに接続されません。
だから、すべてのObjectA
インスタンスが結局ObjectB
に添付さますが、すべてではないObjectB
インスタンスがObjectA
を持つことになります。
基本的に、私はこのようなデータベーステーブルを構築するためにGORMを探しています:
ObjectA
- Id (NotNull, unique)
- ObjectB_Id[FK: ObjectB.Id] (unique)
ObjectB
- Id (NotNull, unique)
私はこれを行うにはGORMドメインクラスを一緒に置くことができますどのように?
私はちょうど約hasOne
、belongsTo
、生の特性、nullable: true
とunique: true
制約のすべての組み合わせは、私が考えることができるしようとしましたが、私は必要 1が欠落します。これは特にそうではないようです奇数シナリオだから、はでなければなりません。
Class ObjectA {
ObjectB objectB
static constraints = {
objectB nullable: true, unique: true
}
}
Class ObjectB {
static belongsTo = [objectA: ObjectA]
static constraints = {
objectA nullable: true
}
}
私は周りのように見えることはできませんこれで唯一の難点は、それが設定することも可能であるということです。ソリューションに私を導く問題に一緒に私の考えを入れ、よくあること