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

在Grails中,如何创建一个域模型来链接另一个模型中的两个?,grails,groovy,gorm,Grails,Groovy,Gorm,我目前正在尝试创建一个友谊域对象来链接两个用户对象(带有一些附加数据:createDate,confirmedStatus)。我的域模型如下所示 class Friendship { User userOne User userTwo Boolean confirmed Date createDate Date lastModifiedDate static belongsTo = [userOne:User , userTwo:User] static constraints = { u

我目前正在尝试创建一个友谊域对象来链接两个用户对象(带有一些附加数据: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()
}
}
我还向user类添加了以下条目

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

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

您已经在
友谊
类中声明了
userOne
userTwo
属性两次。一旦来到这里:

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()
  }
}

似乎没有什么不同,友谊仍然只是一个朋友的财产。