在Grails中,如何创建域模型来链接另一个模型?

时间:2010-04-22 03:58:14

标签: grails groovy gorm

我目前正在尝试创建一个友谊域对象来链接两个User对象(带有一些额外的数据:createDate,confirmedStatus)。我的域模型如下所示

class Friendship {

User userOne
User userTwo
Boolean confirmed
Date createDate
Date lastModifiedDate

static belongsTo = [userOne:User , userTwo:User]

static constraints = {
userOne()
userTwo()
confirmed()
createDate()
lastModifiedDate()
}
}

我还将以下条目添加到用户类

static hasMany = [ friendships:Friendship ]
static mappedBy = [ friendships:'userOne' , friendships:'userTwo' ]

当我这样做时,结果是创建了一个新的友谊(并且可以通过控制器查看),两个用户都列在各自的位置。当我查看userOne的详细信息时,我会看到列出的油炸船。当我查看userTwo的详细信息时,没有列出友谊。这不是我预期的行为。我做错了什么?为什么我不能看到两个用户下列出的友谊?

1 个答案:

答案 0 :(得分:1)

您已在userOne课程中两次声明userTwoFriendship属性。来到这里:

static belongsTo = [userOne:User , userTwo:User]

再来一次:

User userOne
User userTwo

将您的友谊课程更改为此

class Friendship {

  Boolean confirmed
  Date createDate
  Date lastModifiedDate

  static belongsTo = [userOne:User , userTwo:User]

  static constraints = {
    userOne()
    userTwo()
    confirmed()
    createDate()
    lastModifiedDate()
  }
}