Bonjour à Tous!!
J'ai de gros soucis pour mapper mes objets java.
Tout d'abord, je vous détaille la situation.
Je suis sur un projet dont son but est de gérer le suivi d'un projet, de sa création jusqu'a sa mise en production.
Je programme en Java, la base de donnees est sous oracle et le mapping se fait par Hibernate.Mon projet est composé de plusieurs objets : projet,historique,produit....
Mon probléme de mapping concerne les objets : produit et version de produit.
=> ProduitVersion.java et Produit.java
Un produit est composé de plusieurs Versions (ProduitVersion).
Donc le produit contient une List de Version, par contre dans la classe Version, il n'y a aucune référence vers le produit.
Voici une toute petite partie de ces objets en java :
Classe Produit :
Code:
public class Produit {
private String nom;
private List<ProduitVersion> produitVersions;
private Date dateModification = new Date();
........
........
}
Classe ProduitVersion :
Code:
public class ProduitVersion {
private String nom;
private Date dateEffet = new Date();
........
........
}
Voici maintenant les tables sql (une partie) de ces objets sous Oracle :
Code:
CREATE TABLE PRODUIT
(
id INTEGER,
nom VARCHAR2(20) NOT NULL,
date_modif DATE DEFAULT sysdate NOT NULL,
CONSTRAINT PK_PRODUIT PRIMARY KEY (id),
);
Code:
CREATE TABLE PRODUIT_VERSION
(
id INTEGER,
produit_id INTEGER NOT NULL,
nom VARCHAR2(30) NOT NULL,
date_effet DATE DEFAULT sysdate NOT NULL,
CONSTRAINT PK_PRODUIT_VERSION PRIMARY KEY (id),
CONSTRAINT FK_PRODUIT_VERSION_PRODUIT FOREIGN KEY (id) REFERENCES PRODUIT(id),
);
Voici une partie des mapping Hibernet :
Code:
<class name="Produit" table="produit" >
<property name="nom" column="nom" not-null="true" unique="true"/>
<property name="dateModification" column="date_modif" not-null="true" /> </class>
<class name="ProduitVersion" table="produit_version" >
<property name="nom" column="nom" not-null="true" unique="true" />
<property name="dateEffet" column="date_effet" not-null="true" insert="false" update="false"/>
</class>
Mon gros probléme est que je ne sais pas du tout mapper cette List.
Je sais comment mapper avec un Set, C'est a dire en utilisant un Set plutot qu'une liste en Java.
Par contre j'ai beaucoup de mal pour mapper la list et je ne souhaite pas faire une reference du Produit dans l'objet ProduitVersion.
Je souhaite aussi trié les ProduitVersion par date_effet.
Voila, J'espere avoir été assez claire.
N'hesitez pas à me questionner si je n'ai pas été assez claire.
Merci de votre aide!!!!!!