bonjour,

J'ai dans mon modele une association reflexive sur l'entité Acteur.
Un acteur peut être une structure ou un membre (d'une structure donc ...).

J'ai donc mapper la classe acteur de la façon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
	"-//Hibernate/Hibernate Mapping DTD//EN"
	"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
 
<hibernate-mapping package="hibernateLFD">
	<class name="Acteur" table="acteur">
 
		<meta attribute="sync-DAO">false</meta>
 
		<id name="Id" type="integer" column="id"><generator class="native"/></id>
 
		<property name="Nom" column="nom" type="string" not-null="false" length="30" />
		...
 
		<set name="structures" table="participe">
			<key column="id_membre" />
			<many-to-many column="id_structure" class="Acteur" />
		</set>
		<set name="membres" table="participe" inverse="true">
			<key column="id_structure" />
			<many-to-many column="id_membre" class="Acteur" />
		</set>
 
	</class>	
</hibernate-mapping>
Comme vous l'avez remarqué, je récupère les id des acteurs 'membres' et 'structures" dans une table qui se nomme "participe".

J'arrive donc sans problème à ajouter un membre à une structure, et vice versa, grâce à une requête du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"select a from Acteur a left join fetch a.membres where a.id = :idStructure"
Par contre, je n'arrive pas à trouver la requête me permettant de récupérer la liste de tous les acteurs de type 'structure' par exemple...

Merci pour votre aide.