Bonjour,
j'avais posé une question bien compliquée vendredi. J'ai isolé mon problème.
J'ai une relation One to Many entre un automate et ses date de connexions.
Lorsque j'éxécute ma requête qui doit me ramener tous mes automates avec toutes leurs dates de connexions, ça me ramène bien les connexions du 1er automate puis uniquement la 1ère connexion des automates suivants... Problème de mapping, problème de HQL ? Au secours !
Beans :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class VueAutomateED implements java.io.Serializable { private static final long serialVersionUID = -8933058761232072580L; private Long id; private String id_auto_complet; /** * Liste des connexions */ private Set<ConnexionED> listConnexions = new HashSet<ConnexionED>(); //getters settersMapping :
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 public class ConnexionED implements java.io.Serializable { private static final long serialVersionUID = -9105000665015561454L; /** * id */ private Long id; /** * Automate concerné */ private VueAutomateED automateED; /** * Connexion */ private Date connexion; //getters setters
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <hibernate-mapping> <class name="com.mycompany.entite.ConnexionED" table="HISTORIQUE_CONNEXIONS"> <id name="id" type="long"> <column name="ID" precision="22" scale="0" /> <generator class="sequence"> <param name="sequence">SEQ_HISTORIQUE_CONNEXIONS</param> </generator> </id> <many-to-one name="automateED" class="com.mycompany.entite.VueAutomateED" fetch="select"> <column name="AUTOMATE_ID" not-null="true" /> </many-to-one>et enfin la requête HQL :
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 <hibernate-mapping> <class name="com.mycompany.entite.VueAutomateED" table="VUEAUTOMATEQS"> <id name="id" type="long"> <column name="ID" precision="22" scale="0" /> <generator class="sequence"> <param name="sequence">SEQ_AUTOMATE</param> </generator> </id> <property name="id_auto_complet" type="string"> <column name="ID_AUTO_COMPLET" length="15" /> </property> <set name="listConnexions" table="HISTORIQUE_CONNEXIONS"> <key column="AUTOMATE_ID"/> <one-to-many class="com.mycompany.entite.ConnexionED" /> </set>
Toute piste serait précieuse, merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 from VueAutomateED a left join fetch a.listConnexions con where (a.id between 30841 and 30847) order by a.id
Partager