我有以下域类:
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 :(得分:2)
如果要直接访问连接表(Posts_Tags
)或向其添加属性,则必须将其定义为单独的PostTag
域类。然后,您将Post
和Tag
之间的多对多关系拆分为2个一对多关系(一个来自Post
到PostTag
,另一个来自Tag
到PostTag
)。
以下是comprehensive example如何执行映射并向连接表添加属性 - 在此示例中,Membership
是连接表。
答案 1 :(得分:0)
使用普通的groovy sql API。有关如何获取groovy SQL对象并执行sql查询的示例,请参阅this