两个类之间的一对多和多对多关系?(圣杯ORM)



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

所以我做了这样的事情:

class User {
    static hasMany = [activities:Activity, activitiesCreated: Activity]
    static mappedBy = [activitiesCreated: "creator"]
...
}
class Activity{
    static hasMany = [users:User]
    static belongsTo = [users:User]
    Usuario creator
...
}

这将引发一个运行时异常,即:在多对多关系中,域类 [类用户] 和 [类活动] 之间未定义所有者。示例:静态属于 = 活动

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

这就是我被困的地方:/

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

最新更新