0

つまり、基本的に2つのクラスがあります。

Class User {
  String Name
}
Class Project {
  User requestedBy
    static hasMany =
    [
      assignedTo: User  
    ]
}

これで、requestedByをユーザー1に設定できます。Project.addToAssignedTo(ユーザー1)も実行できます。

問題は、requestedByとして既に存在するユーザーを割り当てから削除したい場合に発生します。私は問題なく他のユーザーを削除することができます:

Project.removeFromAssignedTo(User 1).save(failOnError:true、flush:true)

いかなる種類のエラーも発生しません。データは単に削除されません。どんな助けでもいただければ幸いです!

ありがとう!

4

1 に答える 1

0

同じクラスに対して複数の関係を定義する場合は、双方向の関係を定義し、プロパティを使用しmappedByてその関係の両側を定義する必要があります。

class User {
  String Name

  hasMany = [requestedProjects: Project, assignedProjects: Project]

}
class Project {
  User requestedBy
    static hasMany =
    [
      assignedTo: User  
    ]

    static mappedBy = [requestedBy: 'requestedProjects', assignedTo: 'assignedProjects']

}

うまくいけば、それで問題が解決します。

于 2012-04-10T21:41:48.653 に答える