2010-03-19 74 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