私はGrailsを学び始めているので、これは初心者の質問かもしれません. 私の疑問は非常に単純ですが、検索しても探している回答が見つかりませんでした。
問題は次のとおりです。
次のように、私が持っている別のドメイン クラスと関係があるドメイン クラスがあります。
class Class3 {
static belongsTo = [class1:Class1]
(...)
}
そして、Class3 から JSON オブジェクトを受け取るアクションをコントローラー内に作成しています。この JSON の中に、私の class1 オブジェクトの ID があります。
問題は、Class3 のインスタンスを適切に作成し、その class1 プロパティを初期化して、class1 の ID のみを持ち、実際のインスタンスを持たない方法です。
私は今、このように探すことができるようになりましClass1.get(parsed_id)
た(それが私が今していることであり、機能しています):
def jsonObj = request.JSON
def class3 = new Class3(class1: Class1.get(jsonObj.class1.id) (...))
class3.save(flush: true)
これは私のjsonがどのように見えるかです:
{class1:{id:1} (...)}
しかし、class1 のこのインスタンスを DB で調べて、class3 の関係を初期化し、それを DB に保存するのは少しオーバーヘッドだと思います。これを行うより良い方法はありますか?同様に、class1 の外部キーを class3 内に直接 DB に保存しSELECT
ます。
あるいは、JSON オブジェクトからオブジェクトを初期化する方法があるのでしょうか?