Bonjour Rémi,
Quel type de stratégie utilise tu pour gérer ton héritage ?
Utilise tu les annotations hibernate en jdk5 où utilise tu des fichiers de mapping ?
Là j'ai pas de fichier mapping sous la main, mais j'avais fait ça il y a un petit moment, je jetterais un oeil au besoin s'il le faut. Pour les annotations pures hibernate (sans ejb3) je ne les connais pas, je suis directement passé des fichiers de mapping hibernate à jboss/ejb3.
Voici un exemple de ce qu'il faudrait faire en ejb3.
J'espère que je ne vais pas amener de la confusion avec la notion d'ejb, mais je pense que la transformation ejb3 entity vers hibernate ne dois pas être trop compliqué.
Code:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Entite {
@Id
@GeneratedValue
private int id;
private String nom;
//Getters ans Setters
}
Code:
public class Personne extends Entite {
private String prenom;
//Getters ans Setters
}
Code:
public class Salarie extends Personne{
private int salaire;
//Getters ans Setters
}
J'utilise la stratégie JOINED, tu obtiens ainsi 3 tables comme tu le souhaite, et chacune des table ne possède qu'un seul champ. Tu peux également utiliser une stratégie avec une seule ou avec trois tables totalement distinctes. On peux préciser le discriminant, mais je ne l'ai pas mis dans l'exemple pour rester concis.
Pierre.