Database design GORM ID生成和归属关联?
我有两个领域:Database design GORM ID生成和归属关联?,database-design,grails,groovy,gorm,relational-database,Database Design,Grails,Groovy,Gorm,Relational Database,我有两个领域: class CodeSetDetail { String id String codeSummaryId static hasMany = [codes:CodeSummary] static constraints = { id(unique:true,blank:false) } static mapping = { version false id column:'code_set_detail
class CodeSetDetail {
String id
String codeSummaryId
static hasMany = [codes:CodeSummary]
static constraints = {
id(unique:true,blank:false)
}
static mapping = {
version false
id column:'code_set_detail_id', generator: 'assigned'
}
}
and :
class CodeSummary {
String id
String codeClass
String name
String accession
static belongsTo = [codeSetDetail:CodeSetDetail]
static constraints = {
id(unique:true,blank:false)
}
static mapping = {
version false
id column:'code_summary_id', generator: 'assigned'
}
}
我得到两个带有列的表:
代码集\u详细信息:
code_set_detail_id
code_summary_id
code_summary_id
code_set_detail_id (should not exist)
code_class
name
accession
及
代码\u摘要:
code_set_detail_id
code_summary_id
code_summary_id
code_set_detail_id (should not exist)
code_class
name
accession
我想通过“代码集详细信息”id(而不是通过“代码集详细信息”id)链接代码集详细信息表和代码集摘要表。注意:“代码\汇总\ id”在代码\集合\明细表中定义为列,在代码\汇总表中定义为主键 总而言之,我想在代码汇总表中将“代码汇总id”定义为主键,并在代码集合明细表中映射“代码汇总id”
如何在一个表中定义主键,并将该键映射到另一个表?从Groovy代码中,每个
CodeSetDetail
都有许多与其关联的codeSummmary
对象。在DB中执行此操作的方法是让code\u summary
表的每一行从code\u set\u detail
表中识别与其关联的行。你说:
总而言之,我想定义一下
“代码\u摘要\u id”作为中的主键
代码汇总表和地图
代码集详细信息中的“代码摘要id”
桌子
如果在
code\u set\u detail
表中有一个code\u summary\u id
,则code\u set\u detail
表中的每一行最多可以与code\u summary
表中的一行相关联,这意味着在Groovy中,每个code\u detail
对象最多可以指向一个code>对象。这就是你想要的吗?我想将:CodeSetDetail(codeSummaryId=TEM123)与CodeSummary(codeSummaryId=TEM123)链接起来。在这种情况下,CodeSetDetail
只能引用一个CodeSummary
。如果这是您想要的,请从CodeSetDetail
中删除行String codeSummaryId
和static hasMany=[codes:CodeSummary]
,只需使用CodeSummary CodeSummary
字段即可。如果我想级联删除,还可以参考“我可以添加使用静态belongsTo=[codeSetDetail:codeSetDetail]中的一对一”部分。谢谢