1

共通の主キーを持つ 2 つのテーブルがあります。今、私はその両方のテーブルからデータを取得し、その主キーを使用して単一のビューに表示したいと考えています。

単一のドメイン クラスで両方のテーブル データを取得するにはどうすればよいですか? マッピングを指定するにはどうすればよいですか?

例えば

Table-A と Table-B はどちらも単一のスキーマ ABC にあります

class X {
   int id
   String name

   static mapping = {
      table name: "Table-A", schema: "ABC"
      columns {
         name column:'name'
      }
   }
}

今、私のビューが以下のようになるように、テーブルBからアドレスを取得したい

ID  NAME  ADDRESS
2   HSJHD  23 X-Street Washington USA

単一のドメイン クラスで 2 つのテーブル データを取得するには?

4

3 に答える 3

2

これは外部キー関係のように聞こえますが、各オブジェクトで属しているだけです (1 対 1 の関係が提供されます)。 http://grails.org/doc/latest/ref/Domain%20Classes/belongsTo.html

それ以外の場合は、データベースにデータベース ビューを作成してから、そのビューに一致するドメイン オブジェクトを作成できます。データベース ビューに基づいてドメインを作成することは、テーブルに基づいてドメインを作成することと同じです。

于 2011-12-29T20:25:21.277 に答える
0

いくつかのオプション

  1. hqlを使用して、主キーを照会して結合するだけです

  2. 2つのテーブルからビューを作成し、新しいテーブルをそのビューにマップします

  3. 使用はに属し、uが一方のオブジェクトにアクセスし、次にもう一方のオブジェクトにアクセスする場合

于 2012-01-01T15:02:11.710 に答える
-1

制約を使用する必要があります: http://www.grails.org/doc/2.0.x/ref/Constraints/Usage.html

およびhttp://www.grails.org/doc/2.0.x/guide/single.html#constraints

于 2011-12-29T17:20:42.483 に答える