J'ai deux domaines:Génération GORM ID et association 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'
}
}
Je reçois deux tables avec des colonnes:
code_set_detail:
code_set_detail_id
code_summary_id
et
code_summary:
code_summary_id
code_set_detail_id (should not exist)
code_class
name
accession
Je voudrais créer un lien code_set_detail table et la table code_summary par 'code_summary_id' (et non par 'code_set_detail_id').
Remarque: 'code_summary_id' est défini en tant que colonne dans la table code_set_detail et défini en tant que clé primaire dans la table code_summary. En résumé, je voudrais définir 'code_summary_id' comme clé primaire dans la table code_summary, et mapper 'code_summary_id' dans la table code_set_detail.
Comment définir une clé primaire dans une table et mapper cette clé sur une autre table?
Je voudrais lier: CodeSetDetail (codeSummaryId = TEM123) avec CodeSummary (codeSummaryId = TEM123). –
Dans ce cas, 'CodeSetDetail' ne peut faire référence qu'à un seul' CodeSummary'. Si c'est ce que vous voulez, supprimez les lignes 'String codeSummaryId' et' static hasMany = [codes: CodeSummary] 'de' CodeSetDetail' et ayez juste un champ 'CodeSummary codeSummary' à la place. Reportez-vous également à la section One-to-One à http://www.grails.org/GORM+-+Defining+relationships –
Je peux ajouter l'utilisation static belongsTo = [codeSetDetail: CodeSetDetail], si je veux supprimer en cascade. Merci. –