2

我在处理两个实体时遇到问题,这两个实体应该具有一对多和多对多的关系。让我向您展示一个案例:有用户,他们创建并参与活动。所以一个活动可以有多个用户和一个活动创建者,同时一个用户可以创建并属于许多活动。

所以我做了这样的事情:

class User {

    static hasMany = [activities:Activity, activitiesCreated: Activity]
    static mappedBy = [activitiesCreated: "creator"]
...
}

class Activity{

    static hasMany = [users:User]
    static belongsTo = [users:User]
    Usuario creator
...
}

这引发了一个运行时异常,即:在多对多关系中的域类 [class User] 和 [class Activity] 之间没有定义所有者。示例:静态 belongsTo = 活动

如果我不尝试实现一对多,多对多关系就可以正常工作,所以这不是问题。

这就是我卡住的地方:/

4

1 回答 1

4

我将有第三个实体来实现多对多关系。例如,假设将活动的实际执行表示为一个事件,这意味着一个事件有一个或多个活动、时间戳/时间框架和一个或多个参与用户。用户可以创建一个或多个活动,并且出于同样的原因,活动的所有者将被视为拥有该事件。

于 2012-05-18T21:14:26.710 回答