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]中的一对一”部分。谢谢