2017-11-28 14 views
1

内のテーブルに参加し、私は今、私はA_Bストアの両方 テーブルIDのテーブルクラスBとA_Bテーブルに参加する必要があり、二つのクラスは、Grailsの

class A { 
    String name 
    static hasMany[b:B] 
    static mapping={ 
     b joinTable:[name:'A_B', column: 'b_id', key: 'a_id'] 
    } 
} 

class B { 
    String name 
} 

を得ました。私はあなたが多くの関係に多くを作成しようとしているよう

select b.name from B b,A_B ab where b.id=ab.b_id 

が、それはA_Bが

+0

A_BストアAとBのIDS場合それは多対多関係でなければなりません。 – devbd

+0

joinTableは、あなたが結合するテーブルをどの '列'に指示しているかのように使用されます。 – devbd

答えて

0

にマッピングされていないというエラーがスローされますが見えるクエリを書いた

class A { 
    String name 

    static hasMany = [b:B] 

    static mapping={ 
     b joinTable:[name:'A_B'] 
    } 
} 

class B { 
    String name 

    static belongsTo = A  
    static hasMany = [b:B] 

    static mapping={ 
     b joinTable:[name:'A_B'] 
    } 
}