2010-03-19 88 views
0

我有以下結構域的類:訪問關係表Grails中

class Posts{ 
     String Name 
     String Country 
     static hasMany = [tags:Tags] 

     static constraints = { 
     } 
    } 


class Tags{ 

    String Name 
    static belongsTo = Posts 
    static hasMany = [posts:Posts] 
    static constraints = { 
    } 
    String toString() 
    { 
     "${TypeName}" 

    } 
} 

Grails的數據庫即Posts_Tags創建另一個表。
我的要求是:

E.g. 1發佈有3個標籤。 因此,在Posts_Tags表中有3行。

如何在我的代碼中直接訪問表Posts_Tags,以便我可以操縱數據或爲其添加更多字段。

回答

0

使用正常的groovy sql API。有關如何直接拿到一個Groovy SQL對象,執行SQL查詢看到this

+0

這不會回答他的問題的第二部分關於如何向連接表添加額外的字段 – 2010-03-19 19:21:09

+0

是的,如果您有一個常規的SQL對象,您可以使用alter table語句,插入等。 – Jared 2010-03-19 20:17:17

2

如果您要訪問的連接表(Posts_Tags),或屬性添加到它的一個例子,則必須把它定義爲一個單獨的PostTag域類。然後,您將PostTag之間的多對多關係分爲2個一對多關係(一個從PostPostTag,另一個從TagPostTag)。

這是一個comprehensive example關於如何執行映射並向連接表添加屬性 - 在此示例中,Membership是連接表。

+0

綜合即使註冊後,示例鏈接也會顯示'您沒有獲得授權' – 2017-03-01 13:22:08