gpt4 book ai didi

grails - 使多个单向一对多无法正常工作

转载 作者:行者123 更新时间:2023-12-02 14:45:32 27 4
gpt4 key购买 nike

我的两个域类(UserPost)之间有多个一对多关联。 User可能喜欢,不喜欢,看到或拥有多个Post。为此,我建立了hasMany关系,如下所示:

static hasMany = [posts:Post, seen:Post, likes:Post, dislikes:Post]

在开始使用 seen时,开发了代码的所有权之后,我看到 posts列表中的每个对象也都在 seenlikesdislikes中。然后,我尝试使用joinTable映射表:
static mapping = {
posts joinTable: [name: 'USER_POSTS',
column: 'POST_ID',
key: 'USER_ID']
seen joinTable: [name: 'USER_SEEN',
column: 'POST_ID',
key: 'USER_ID']
likes joinTable: [name: 'USER_LIKES',
column: 'POST_ID',
key: 'USER_ID']
dislikes joinTable: [name: 'USER_DISLIKES',
column: 'POST_ID',
key: 'USER_ID']
}

但不幸的是,一切都没有改变,添加到 posts的帖子仍然会转到其他列表。我究竟做错了什么?

最佳答案

在尝试了许多mappedBymapping东西之后,我决定创建单独的域(实际上具有相同的属性),以保持UserPost之间的喜欢,讨厌和看到的联系。实际上,我的解决方案不是基于关系的,而是一种User-Post Activity 的日志。

class UserLike {
static belongsTo = [user:User,post:Post]
}
class UserDislike {
static belongsTo = [user:User,post:Post]
}
class UserSee {
static belongsTo = [user:User,post:Post]
}

当我想制作一些 post1喜欢的 user1时,我会执行以下操作:
new UserLike(user:user1,post:post1).save()

也许对其他人来说不是完美的,但是解决了我的问题

关于grails - 使多个单向一对多无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12235408/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com