J'ai une base de données avec une structure assez simple. J'ai "rouleaux" qui contiennent "rollTotals". Le rouleau a une clé primaire de "rollID" et RollTotals ont une clé composite sur "rollID" et "catégorie".Grails/GORM Legacy DB un-à-plusieurs mappedBy numéro
Donc Grails, j'ai:
class Roll {
Integer id
...
static hasMany = [ rollTotals: RollTotal ]
static mapping = {
table('rolls')
id(column:'rollID')
version false
...
}
}
et
class RollTotal implements Serializable {
Integer rollId
Integer category
...
static belongsTo = [ Roll ]
static mapping = {
table('rolltotals')
id composite:['rollId', 'category']
version false
rollId(column:'rollID')
category(column:'category')
...
}
Ces applications fonctionnent très bien individuellement, mais quand je mets le hasMany, il dit:
table manquante: rolls_rolltotals
Je pensais qu'il avait besoin de savoir que la colonne à utiliser comme clé étrangère, donc j'ajouté Roll:
static mappedBy = [rollTotals: "rollId" ]
Il dit:
org.codehaus.groovy.grails.exceptions.GrailsDomainException : propriété de cartographie inexistante [rollId] spécifié pour la propriété [rollTotals] dans la classe [catégorie roll]
J'ai essayé avec rollID (comme le nom de colonne), mais obtenir le même résultat.
Une idée de comment je peux relier ces tables?
Cela a fonctionné et je comprends pourquoi. Merci. –