Bonjour à toutes et à tous,
Après une formation de quelques jours à Hibernate, je me suis enfin lancé dans un développement afin de me lancer (enfin) dans le grand bain Java
Je vous expose mon soucis: je développe sous Eclipse 3.2.0 M20070212-1330 (avec une mise à jour des logiciels effectués via celui-ci) une petite appli stantalone avec hsqldb 1.8.0 derrière et hibernate 3.2
j'ai intégré les package d'hibernate (liaison externe) et intégré le package hsqldb.jar dans un répertoire lib de mon projet
j'ai codé 2 pauvres petite classes comme suit:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 package metier; import java.util.List; public class Ligue { private Integer id; private Integer numero; private String nom; private List<Club> clubs; // constructeur public Ligue() { } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public Integer getNumero() { return numero; } public void setNumero(Integer numero) { this.numero = numero; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public List<Club> getClubs() { return clubs; } public void setClubs(List<Club> clubs) { this.clubs = clubs; } }codé le mapping d'Hibernate comme suit:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 package metier; public class Club { private Integer id; private Integer numero; private String nom; private Ligue ligue; // constructeur public Club() { } public Ligue getLigue() { return ligue; } public void setLigue(Ligue ligue) { this.ligue = ligue; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public int getNumero() { return numero; } public void setNumero(Integer numero) { this.numero = numero; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } }
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 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Infos HSQL : http://baptiste-wicht.developpez.com/tutoriel/java/hsql/ --> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property> <property name="hibernate.connection.url">jdbc:hsqldb:data/bdd</property> <property name="hibernate.connection.username">sa</property> <property name="hibernate.connection.password"></property> <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property> <property name="show_sql">true</property> <!-- fichier(s) de mapping à utiliser --> <mapping resource="metier/Ligue.hbm.xml"/> <mapping resource="metier/Club.hbm.xml"/> </session-factory> </hibernate-configuration>
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 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="metier"> <class name="Ligue" table="LIGUES"> <id name="id" column="ID"> <generator class="increment"/> </id> <property name="numero" type="string" column="NUMERO"/> <property name="nom" type="string" column="NOM"/> <!-- Une ligue a des clubs affiliés --> <list name="clubs" cascade="all" inverse="true"> <key column="ID_LIGUE"/> <list-index column="IDX"/> <one-to-many class="Club"/> </list> </class> </hibernate-mapping>et j'ai ensuite vérifié si cette aventure démarrait sur de bonnes bases via la vue "Hibernate Configurations", j'ai ainsi pu voir que la Configuration était ok, la Session Factory itou, la Database aussi (après avoir lancé le DataBaseManager bien avant ces manips)
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 <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="metier"> <class name="Club" table="CLUBS"> <id name="id" column="ID"> <generator class="increment"/> </id> <property name="numero" type="integer" column="NUMERO"/> <property name="nom" type="string" column="NOM"/> <!-- Un club fait parti d'une Ligue --> <many-to-one name="ligue" column="ID_LIGUE" class="Ligue" not-null="true"/> </class> </hibernate-mapping>
et j'ai enfin voulu réalisé un "Run SchemaExport" de cette configuration afin qu'Hibernate me créé et me dévoile les instructions SQL pour la génération des tables LIGUES et CLUBS... or rien ne se passe, ni création de table, ni plantage remonté par une quelconque exception via la console... bref ça fait plus d'une demi journée que je galère en cherchant un peu partout sur le net et je ne trouve pas de cas similaire au mien donc j'en appelle à de bonnes âmes pour me dépatouiller de ma mouise profonde où je suis bêtement plongé
Merci d'avance![]()
Partager