Salut,

J'ai deux mappings à écrire qui me pose probleme et je ne connais pas la syntaxe pour m'en sortir.

1er cas :

table languages
langCode
langName

association vers des utilisateurs à travers une table user_env mais sur plusieurs champs différents

table user_env
userCode
affichageLang
editionLang
applicationLang

la langue d'affichage, d'édition ou de l'application peut être différente mais au final je vais bien chercher tout les utilisateurs associés à une langue dans un Set.
Pour l'instant je ne vois pas autrement qu'en faisant 3 set différents :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
	<set name="usersAffPreferences" table="USER_ENV" >
			<key column="AFF_LANG"  />
			<many-to-many column="USER_CODE" class="model.Users"  />
		</set>
		<set name="usersEdiPreferences" table="USER_ENV" >
			<key column="EDI_LANG" />
			<many-to-many column="USER_CODE" class="model.Users" />
		</set>
		<set name="usersWiPreferences" table="USER_ENV" >
			<key column="WI_LANG" />
			<many-to-many column="USER_CODE" class="model.Users" />
		</set>
Mais bon c'est pas terrible, j'ai pas besoin de 3 sets puisque les données sont identiques a l'intérieur.
Je ne vois pas comment faire une jointure sur 3 champs plutot qu'un seul.


2eme cas :
ma table langue peut aussi être associé a des paramétres d'environnement dans une table qui se veut générique

table env_param
envId
paramValue
paramName

Du coup cette fois je veux un set qui soit capable de prendre tout les environnements, dont le paramValue = langCode et paramName = AFF_LANG ou EDI_LANG ou WI_LANG

Cette fois j'ai un seul champ de liaison mais 3 conditions. J'avais l'impression que "formula" dans les many-to-one pouvait m'aider mais la documentation hibernate est malheureusement souvent assez pauvre en exemple "real life" et je ne trouve pas mon bohneur.

Une idée ?