1

共通の主キーを持つ2つのテーブルがあります。今私は両方のテーブルからデータを取得し、そのプライマリキーを使用して単一のビューで表示したい。Grails - 単一ドメインクラスの複数のテーブル

どのようにして1つのドメインクラスで両方のテーブルデータを取得できますか?どのようにマッピングを指定できますか?例

表Aと表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つのテーブルデータを取得するにはどうすればよいですか?

答えて

2

が、あなたは、単に(1対1の関係を提供する)各オブジェクトにbelongsToのを使用します。 http://grails.org/doc/latest/ref/Domain%20Classes/belongsTo.html

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

+0

私はBelongsTOを試しましたが、動作しません。私は従来のデータベースとデータベースを変更する権限がないので、どうすればいいですか? grailsのJoin Tableとは何ですか?あなたは上のコードの上にソリューションを入れていただけますか? – element40

+0

何が問題になっているのかわからないので、その方法を提案するよりも、どのようにソリューションを投稿することができないのか分かりません。 – Joseph

0

いくつかのオプション

  1. だけ

  2. 使用を2つのテーブルのビューを作成し、そのビューに新しいテーブルをマッピングし、主キー

  3. に照会し、参加するためにHQLを使用に属し、1つのオブジェクトにアクセスしてから別のオブジェクトにアクセスするとき

+0

belongsToのコード例を入れてください。私は把握できない。これ以上のブログ記事はありません。エラーが発生してから本当に難しいです – element40

関連する問題