Bonjour,
Je suis debutant, j'utilise Hibernate3 et je voudrai lié 2 tables: Plan et Obstacle, j'ai ecrit le fichier de mapping de la classe plan, Pour la classe obstacle j'ai codé que la classe en java, il me genere les 2 table mais n'effectue pas d'ecriture dans la bdd:
fichier de mapping de la classe PLAN::::::
<class name="Plan" table="PLAN">
<id name="id" column="ID" unsaved-value="0">
<generator class="native"></generator>
</id>
<property name="nbX" column="NOMBRE_LIGNE" type="int" not-null="true" />
<property name="nbY" column="NOMBRE_COLONNE" type="int" not-null="true" />
<set name="obstacles" table="OBSTACLES">
<key column="ID" />
<composite-element class="Obstacle">
<property name="x" column="ABSCISSE" type="int" not-null="true" />
<property name="y" column="COORDONNEE" type="int" not-null="true" />
</composite-element>
</set>
</class>
La classe Plan::::::
public class Plan {
private int id;
private int nbX;
private int nbY;
private Set<Obstacle> obstacles;
public Plan() {
obstacles=new HashSet<Obstacle>();
}
public Plan(int nbX, int nbY) {
this();
this.nbX = nbX;
this.nbY = nbY;
}
public Set<Obstacle> getObstacles() {
return obstacles;
}
public void setObstacles(Set<Obstacle> obstacles) {
this.obstacles = obstacles;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getNbX() {
return nbX;
}
public void setNbX(int nbX) {
this.nbX = nbX;
}
public int getNbY() {
return nbY;
}
public void setNbY(int nbY) {
this.nbY = nbY;
}
}
la classe obstacle::::::
public class Obstacle {
private int x;
private int y;
public Obstacle() {
}
public Obstacle(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
test:::::::
Plan plan=new Plan(nbl,nbc);
Obstacle obst=new Obstacle(5,6);
Obstacle obst1=new Obstacle(8,6);
Obstacle obst2=new Obstacle(3,2);
plan.getObstacles().add(obst);
plan.getObstacles().add(obst1);
plan.getObstacles().add(obst2);
session.save(obst);
session.save(obst1);
session.save(obst2);
session.save(plan);
trans.commit();
Merci d'avance pour votre aide
|