[Débutant] Hibernate "Run schemaExporte" ne fonctionne pas?
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:
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;
}
} |
Code:
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;
}
} |
codé le mapping d'Hibernate comme suit:
Code:
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:
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> |
Code:
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 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)
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 :)