2

与えられたドメイン クラス:

class Person {
  String name
  Address address
  static embedded = ['address']
}

class Address {
  String addressLine1
  String addressLine2
  String city
  String state
  String postalCode
  String phone
}

埋め込みドメインを使用するときにフィクスチャを作成する推奨される理由はありますか?

フィクスチャファイルで試したこと:

address1(Address) {
    addressLine1 = '1444 Palm Ave'
    addressLine2 = 'suite 07'
    city = 'Kissiammee'
    state = 'FL'
    postalCode = '34741'
    phone = '615-555-1111'
}

person1(Person) {
    name = 'Fixture Person'
    address = ref('address1')
}

この場合、person1 は、期待どおり、テーブルに埋め込まれた address1 データを使用して DB に入りますが、address テーブルにも行が追加されます。実行中のアプリケーションで personController を使用して人物を作成すると、アドレス行が作成されません。可能であれば、フィクスチャを同様に動作させたいと考えています。

これは私が推測で試したものでした。うまくいきませんでした...

person2(Person) {
    name = 'Test Person'
    address = [
        addressLine1 : '222 Boone Ave',
        city         : 'Boone',
        state        : 'IA',
        postalCode   : '50210',
        phone        : '515-555-1111',
    ]
}

私のコントローラーは、ほとんどの場合、REST json を処理するためにいくつかの小さな調整を加えた足場になっています。私が通れば

{
  "name":"Rest Fixture person",
  "address":{
    'addressLine1':'333 Boone Ave',
    'city':'Boone',
    ...
  }
} 

期待どおりに人物に住所が埋め込まれ、必要に応じて住所テーブルに行がありません。フィクスチャ プラグインを使用して、この同じデータ設定を引き出すことができるかどうか疑問に思っています。

4

0 に答える 0