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_id
和 event_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 与我在问题中的第一个示例没有变化。
您好,我有 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_id
和 event_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 与我在问题中的第一个示例没有变化。