llave foranea ejemplo clave hibernate grails grails-domain-class grails-controller

hibernate - foranea - Grails, cómo buscar por un registro por su clave foránea



clave foranea ejemplo (1)

Intenta usar un criterio :

def c = AlumLanguage.createCriteria() def languages = c.get { eq(''name'', ''whatever-language'') alumProfile { eq(''id'', ''jIi-hRi4cI'') } }

Tengo dos dominios que son parte de un barco de relaciones uno a muchos. Me preguntaba cómo puedo consultar al niño para los padres FK? abajo está el código psuedo para padre / hijo

Padre:

class AlumProfile { String firstName String lastName static hasMany = [alumLanguage : AlumLanguage] static mapping = { cache true id generator: ''assigned'' columns { firstName type:''text'' lastName type:''text'' } // } static constraints = { firstName (nullable:true) lastName (nullable:true) } }

Niño:

class AlumLanguage { String name String level static belongsTo = [alumProfile:AlumProfile] static mapping = { cache true columns { name type:''text'' level type:''text'' } } static constraints = { name(nullable:true) level(nullable:true) } }

Aunque no creo explícitamente el FK, Grails se encarga de crearlo MySQL DB por sí mismo. Pero, cuando quiero consultar al niño por FK de esta manera:

if(AlumLanguage.findByNameAndAlumProfileId(language.''language''.toString(), ''jIi-hRi4cI'')==null){ //do something }

Me sale un error: No se ha encontrado ninguna propiedad para name [alumProfileId] para la clase [class mgr.AlumLanguage]

¿Alguna sugerencia sobre cómo lograr esto?

gracias jason