Je suit le mapping Hibernate 3 pour la classe utilisateur:Comment interroger des valeurs distinctes d'une carte avec une clé donnée dans Hibernate?
<class name="org.test.User" table="users">
... some other mapping...
<map name="metadata" table="user_metadata">
<cache usage="transactional"/>
<key column="user_id" not-null="true" foreign-key="FK_USERMETADATA_USER_ID"/>
<map-key type="string" column="datum_key" length="255" />
<element type="string" column="datum_value" length="1024" not-null="true"/>
</map>
</class>
je voudrais récupérer une liste de tous les datum_values avec datum_key donné.
Dans la requête SQL ressemblerait à ceci:
select distinct datum_value from user_metadata where datum_key = 'Member Type'
Quelle serait l'approche la plus réaliste? Créer un nouveau mapping Hibernate pour user_metadata? Ou essayez d'obtenir une requête HQL/JPA QL en utilisant des indices/éléments renvoyant des valeurs (éventuellement scalaires)? Jusqu'à présent j'ai essayé un peu l'approche HQL/JPA QL et je ne suis pas allé trop loin.