GORM ID生成和belongsTo关联?
我有两个域:
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'
}
}
我得到两个包含列的表:
code_set_detail:
code_set_detail_id
code_summary_id
和
code_summary:
code_summary_id
code_set_detail_id (should not exist)
code_class
name
accession
我想通过“code_summary_id”链接code_set_detail表和code_summary表(和不是通过“code_set_detail_id”)。
注意:'code_summary_id'定义为code_set_detail表中的列,并定义为code_summary表中的主键。
总而言之,我想将“code_summary_id”定义为code_summary表中的主键,并将“code_summary_id”映射到code_set_detail表中。
如何在表中定义主键,并将该键映射到另一个表?
I have two domains :
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'
}
}
I get two tables with columns:
code_set_detail:
code_set_detail_id
code_summary_id
and
code_summary:
code_summary_id
code_set_detail_id (should not exist)
code_class
name
accession
I would like to link code_set_detail table and code_summary table by 'code_summary_id' (and not by 'code_set_detail_id').
Note : 'code_summary_id' is define as column in code_set_detail table, and define as primary key in code_summary table.
To sum-up, I would like define 'code_summary_id' as primary key in code_summary table, and map 'code_summary_id' in code_set_detail table.
How to define a primary key in a table, and also map this key to another table ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在您的 Groovy 代码中,每个
CodeSetDetail
都有许多与其关联的CodeSummary
对象。在数据库中执行此操作的方法是让code_summary
表的每一行标识与code_set_detail
表中与其关联的行。你说:如果您在
code_set_detail
表中有一个code_summary_id
,则code_set_detail
中的每一行最多可以与code_summary
中的一行关联code> 表,这意味着在 Groovy 中每个CodeSetDetail
对象最多可以指向一个CodeSummary
对象。这就是你想要的吗?From your Groovy code, each
CodeSetDetail
has manyCodeSummary
objects associated with it. The way to do this in the DB is to have each row ofcode_summary
table identify a row it is associated with fromcode_set_detail
table. You said:If you have a
code_summary_id
incode_set_detail
table, each row incode_set_detail
can be associated to at-most one row incode_summary
table, which means that in Groovy eachCodeSetDetail
object can point to at most oneCodeSummary
object. Is that what you want?