Grails中的访问关系表

时间:2010-03-19 14:10:47

标签: grails groovy gorm

我有以下域类:

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表,以便我可以操作数据或为其添加更多字段。

2 个答案:

答案 0 :(得分:2)

如果要直接访问连接表(Posts_Tags)或向其添加属性,则必须将其定义为单独的PostTag域类。然后,您将PostTag之间的多对多关系拆分为2个一对多关系(一个来自PostPostTag,另一个来自TagPostTag)。

以下是comprehensive example如何执行映射并向连接表添加属性 - 在此示例中,Membership是连接表。

答案 1 :(得分:0)

使用普通的groovy sql API。有关如何获取groovy SQL对象并执行sql查询的示例,请参阅this