Hibernate version: 3.2.5ga
Jave J2EE 1.5
Bonjour,
J'utilise actuellement Hibernate tools pour me faire un reverse engineering de ma BD dans mon projet J2EE.
En fait, je génère directement mes POJOs avec les annotations hibernate dedans.
Mon problème est le suivant...
J'ai, dans ma base
- une table mère PERSON(pk: ID)
- et 3 tables filles ELEVE(pk: ELEVEID), ELEVE1(pk: ELEVE1ID), PARENT(pk: PARENTID)
=> donc, une magnifique relation d'héritage en fait car les ID des classes filles sont aussi des foreign key vers l'ID de la classe FREDUPERSON.
Mais, lors de ma génération, hibernate n'en tiens absolument pas compte...
Il me génère un entity du style:
Code:
@Entity
@Table(name = "FREDUPENPERSON")
public class Fredupenperson implements java.io.Serializable {
Alors que j'aimerai plutot:
Code:
@Entity
@Table(name = "FREDUPENPERSON")
@PrimaryKeyJoinColumn(name="FREDUPENID")
public class Fredupenperson extends Freduperson {
Je voulais ajouter la forme obtenu de ma classe mère par rapport à ce que j'aimerai avoir.
Ce que j'ai:
Code:
@Entity
@Table(name = "FREDUPERSON", uniqueConstraints = @UniqueConstraint(columnNames = {
"ID", "FREDUAFFILIATION", "OU" }))
public class Freduperson implements java.io.Serializable {
Et ce que je veux:
Code:
@Entity
@Table(name = "FREDUPERSON", uniqueConstraints = @UniqueConstraint(columnNames = { "ID", "FREDUAFFILIATION", "OU" }))
@Inheritance(strategy=InheritanceType.JOINED)
public class Freduperson implements java.io.Serializable {
Ma question est donc, existe-t-il un moyen pour forcer la relation d'héritage lors de la génération automatique des POJOs (dans le hibernate.cfg.xml peut être)?
Et si oui, comment la définir correctement?
Quelqu'un aurait une idée sur la manière qu'il faut que j'utilise pour y parvenir?De plus, les POJOs obtenus avec la génération du code contiennent tous un warning du au fait qu'il manque:
Code:
private static final long serialVersionUID = 1L;
dans chacune de ces classes.
Comment forcer son intégration dans la génération?
Merci d'avance à ceux qui vont essayer de m'aider...