Problema al generar consulta en HQL
Publicado por MiguelHdezG (1 intervención) el 21/07/2014 01:25:51
Buenas tardes,
Estoy realizando reportes customizados utilizando HQL en mi aplicacion, tengo el siguiente query en mi aplicacion para obtener los registros unicos de dos tablas (identidad y roles) , utilizo una tercera tabla que tiene la relacion de ambas tablas (identidad_roles)
my query en mysql es el siguiente :
SELECT *
FROM identity i, bundle b, identity_bundles aib
WHERE b.name LIKE 'DYP%' AND i.bundle_summary LIKE 'DYP%'and i.id = aib.identity_id and b.id = aib.bundle
Este query me funciona bien en la base de datos directamente , cuando lo convierto en el xml que introduzco en la aplicacion con HQL , me marca un error de que la tercera tabla no esta mapeada : identity_bundles
Al parecer no existe mapeo directo por que la tabla solo hace referencia a valores de las dos tablas que mencione antes ( identity y bundle )
Existe dentro del mapeo de la identidad una lista que menciona esta tercer tabla y vienen los atributos que necesito para hacer la comparacion:
<list name="bundles" table="IdentityBundles"
cascade="persist,merge,save-update">
<key column="identityId"/>
<list-index column="idx"/>
<many-to-many column="bundle" class="sailpoint.object.Bundle"/>
</list>
Es posible utilizar esta lista dentro de mi query para hacer la comparacion y que el filtro funcione correctamente en HQL
He intentado utilizar la lista : bundles dentro del query en HQL de la siguiente manera:
<Query>from Identity i, Bundle b
WHERE b.name LIKE 'DYP%' AND i.bundleSummary LIKE 'DYP%'
AND i.id IN (:bundles) and b.id IN (:bundles) </Query>
Pero el log me dicen que me faltan parametros en mi busqueda:
Not all named parameters have been set:
Espero puedan apoyarme.
Saludos.
Estoy realizando reportes customizados utilizando HQL en mi aplicacion, tengo el siguiente query en mi aplicacion para obtener los registros unicos de dos tablas (identidad y roles) , utilizo una tercera tabla que tiene la relacion de ambas tablas (identidad_roles)
my query en mysql es el siguiente :
SELECT *
FROM identity i, bundle b, identity_bundles aib
WHERE b.name LIKE 'DYP%' AND i.bundle_summary LIKE 'DYP%'and i.id = aib.identity_id and b.id = aib.bundle
Este query me funciona bien en la base de datos directamente , cuando lo convierto en el xml que introduzco en la aplicacion con HQL , me marca un error de que la tercera tabla no esta mapeada : identity_bundles
Al parecer no existe mapeo directo por que la tabla solo hace referencia a valores de las dos tablas que mencione antes ( identity y bundle )
Existe dentro del mapeo de la identidad una lista que menciona esta tercer tabla y vienen los atributos que necesito para hacer la comparacion:
<list name="bundles" table="IdentityBundles"
cascade="persist,merge,save-update">
<key column="identityId"/>
<list-index column="idx"/>
<many-to-many column="bundle" class="sailpoint.object.Bundle"/>
</list>
Es posible utilizar esta lista dentro de mi query para hacer la comparacion y que el filtro funcione correctamente en HQL
He intentado utilizar la lista : bundles dentro del query en HQL de la siguiente manera:
<Query>from Identity i, Bundle b
WHERE b.name LIKE 'DYP%' AND i.bundleSummary LIKE 'DYP%'
AND i.id IN (:bundles) and b.id IN (:bundles) </Query>
Pero el log me dicen que me faltan parametros en mi busqueda:
Not all named parameters have been set:
Espero puedan apoyarme.
Saludos.
Valora esta pregunta


0