Bonjour,
je crée un petite appli pour gérer des tables de jeux et des joueurs. J'ai créé deux classes : personne et table.
La classe personne contient des données propres aux joueurs :
et la classe table les données aux tables et une liste de joueurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 private Long id; private String nom; private String adresse; private String telephone; private String mail; private String fonction;
Mes classes corresepondent chacune à une table en bdd et il exite une table LESTABLES_PERSONNES qui fait le lien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private Long id; private Long numero; private Long mj; private Long jeu; private String jour; private Set pjs = new HashSet();
personne.hbm.xml
table.hbm.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <hibernate-mapping> <class name="persist.Personne" table="PERSONNES"> <id name="id" column="PERS_ID"> <generator class="native"/> </id> <property name="nom"/> <property name="adresse"/> <property name="telephone"/> <property name="mail"/> <property name="fonction"/> </class> </hibernate-mapping>
J'arrive bien à ajouter des joueurs par contre je n'arrive pas à récupérer des données.
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 <hibernate-mapping> <class name="persist.Table" table="LESTABLES"> <id name="id" column="LESTABLES_ID"> <generator class="native"/> </id> <property name="numero"/> <property name="mj"/> <property name="jeu"/> <property name="jour"/> <set name="pjs" table="LESTABLES_PERSONNES"> <key column="LESTABLE_ID"/> <many-to-many column="PERS_ID" class="persist.Personne"/> </set> </class> </hibernate-mapping>
J'ai actuellement deux problèmes :
1. J'assaie d'afficher toutes mes tables. Pour ça je fait une requète:
Puis j'essaie de récupérer les données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 List resultat=session.createQuery("FROM Table").list();
J'arrive bien à tout récupérer sauf mes joueurs. Pour l'instant j'ai essayé ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for (int i=0; i< size; i++){ Table table=(Table) tableList.get(i);
J'ai une erreur à la ligne de déclaration de l'itérateur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Iterator j=table.getPjs().iterator(); int temp=7; while(j.hasNext()){ temp=temp+1; tableauTables[i][temp]=j.next().toString(); }
2- mon second problème se situe dans la récupération des tables de jeux avec un joueur bien précis. La relation étant many-to-many ça doit être possible mais je vois vraiment pas comment faire. Peut-être faut-il déclarer quelque chose en plus?
Je pense que j'ai du mal comprendre comment c'est sensé marcher mais là je suis vraiment perdue...
merci
Partager