-
Criteria sur une Map
Bonjour,
j'ai un object MessageTemplate qui contient une HashMap messageTemplateProperties
je fais le mapping correctement dans MessageTemplate.hbm.xml
<map name="messageTemplateProperties" lazy="true">
<key column="template_id" on-delete="cascade"/>
<map-key type="string" column="properties_key"/>
<element type="string" column="properties_value"/>
</map>
Je souhaiterai maintenant utiliser les criteria pour renvoyer l'object MessageTemplate en fonction des clefs/valeurs contenu dans sa HashMap.
Quelqu'un sait-il comment faire?
Merci d'avance.
Boby
-
pour ceux que ce interesserait, j'ai essayé de substituer la collection à une association de classe pour pouvoir utiliser la critera de cette maniere
criteria.createCriteria("sentMessageTemplateProperties", "props")
.add(Restrictions.eq("state", "pending")).setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
Ce qui genere une exception
org.hibernate.MappingException: collection was not an association:
qui m'a permi de remonter jusqu'à cette page
http://www.hibernate.org/117.html#A2
où on annonce que c'est pas possible
Hibernate currently does not support joining a collection of components or other value types with Criteria. Use HQL or submit a patch that implements this functionality.
Voila une limite à l'utilisation des criteria :(