Grails 多对多关系不创建预期表

Grails many to many relationship not creating expected tables

您好,我有 2 个域 classes。这个想法是用户可以创建事件,也可以在其他人的事件中做客:

class Event {

Appuser creator
static belongsTo = Appuser
static hasMany = [guests: Appuser]

class Appuser {

    static hasMany = [friends: Appuser, events: Event]

问题是,我希望它在 event table 中创建一个 creator_id 列,然后 appuser_events table 仅包含appuser_idevent_id,但它还在此处包含一个 creator_id 列并将其设为主键。

我也试过这样创建我的活动 class:

class Event {


    static belongsTo = [creator:Appuser]
    static hasMany = [guests: Appuser]

但是 grails 无法识别 belongTo 关系。

知道如何解决吗?

好的,我解决了我的问题。关键是从 Appuser 添加 2 个对事件 class 的 hasMany 引用,然后添加一个 mappedBy,所以我的事件 Class 现在包含:

static hasMany = [friends: Appuser, events: Event, invites:Event]
static mappedBy = [invites: "guests", events: "creator"]

Appuser class 与我在问题中的第一个示例没有变化。