gpt4 book ai didi

hibernate - Gorm使用复合键进行多对一映射

转载 作者:行者123 更新时间:2023-12-02 16:00:50 24 4
gpt4 key购买 nike

我正在尝试使用复合键映射ManyToOne关系。

我希望能够从RecoverySetup访问OnesolPeNames域对象,就像recoverySetup.onesolPeNames.peNameU
我已将以下代码添加到我的RecoverySetup映射中。

        oneSolution {
column name: 'division'
column name: 'peid'
};

表A
class RecoverySetup implements Serializable {

static constraints = {

}

static mapping = {
table "recovery_setup"

id composite: ["division", "peid", "orgkey"]

columns{
division column: 'division'
peid column: 'peid'
orgkey column: 'org_key'

oneSolution {
column name: 'division'
column name: 'peid'
};
}
}

String division
String peid
String orgkey
OnesolPeNames oneSolution

}

表B
class OnesolPeNames implements Serializable {

static constraints = {

}

static mapping = {
table "ONESOL_pe_names"

id composite: ["division", "peid"]

columns{
division column: 'division', length: 8, sqlType: "char"
peid column: 'pe_id', length: 12, sqlType: "char"
peNameU column: 'pe_name_u', length: 50, sqlType: "char"
}
}

static hasMany = [recoverySetups: RecoverySetup]

String division
String peid
String peNameU

}

我得到以下异常

Caused by MappingException: Repeated column in mapping for entity: org.hri.pisr.domain.RecoverySetup column: division (should be mapped with insert="false" update="false")



我也发现了这个帖子 One-to-Many With Composite Keys and Different Column Names in Grails

最佳答案

由GUL Foreign key (FK_ must have same number of columns as the referenced primary key解决

RecoverySetup类实现Serializable {

static mapping = {
table "recovery_setup"
id composite: ["division", "peid", "orgkey"]
columns {
orgkey column: 'org_key', length: 8, sqlType: "char"

oneSolName {
column name: 'division'
column name: 'peid'
}
}
oneSolName updateable: false, insertable: false
}

static belongsTo = [oneSolName: OnesolPeNames]
...

}

关于hibernate - Gorm使用复合键进行多对一映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31147029/

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