gpt4 book ai didi

grails - GORM hasMany使用多个列

转载 作者:行者123 更新时间:2023-12-02 14:43:19 25 4
gpt4 key购买 nike

我的课如下

class PrefValue extends MainDomain {

String entityClass
Long entityId
....
}

我现在正在尝试将一个集合映射到两个不同的类
class TypeA extends MainDomain {
Long entityId
static hasMany = [preferences:PrefValue]
static mappedBy = [preferences: "entityId"]
...
}
class TypeB extends MainDomain {
Long entityId
static hasMany = [preferences:PrefValue]
static mappedBy = [preferences: "entityId"]
}

出现问题是因为TypeA和TypeB可以具有相同的ID,但是它们将具有不同的entityClass值。我将如何映射?

最佳答案

我假设entityId是主键,当TypeATypeB的主键值都相同时会导致问题。

在这种情况下,您可以删除主键约束,而改用复合主键。该文档进一步详细介绍了here

如果您不是主键,而只是具有唯一性约束,那么可以使每个区分符的entityId唯一:
static mapping = {
entityId unique: 'entityClass'
}

关于grails - GORM hasMany使用多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24000865/

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