Bonjour,
Voici le schéma relationnel de 3 tables dont je dispose :
Avec Hibernate 3, comment peut-t-on mapper ces trois objets en disant à Hibernate que je ne veux pas créer un objet BB_ERREURS mais qu'il me créé une liste d'erreurs rattachée directement à l'objet BB ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 * BB(BB_IDEN, DATE_DEBUT, DATE_FIN, ...) * ERREUR(CODE_ERREUR, LIBELLE_ERREUR) Mon objet « BB » peut contenir de « 0 à 10 » erreurs potentielles : * BB_ERREURS(BB_IDEN#, CODE_ERREUR#)
Pour le moment, voici le mapping de mes deux objets : «
».
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?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="fr"> <class name="BB" table="BB"> <id name="id" column="BB_IDEN"> <generator class="native" /> </id> <property name="dateDebut" column="DATE_DEBUT" type="date"/> <property name="dateFin" column="DATE_FIN" type="date"/> </class> <class name="Erreur" table="ERREUR"> <id name="id" column="CODE_ERREUR"> <generator class="native" /> </id> <property name="libelleErreur" column="LIBELLE_ERREUR" type="string"/> </class> </hibernate-mapping>
Voici le détail de mes deux classes Java :
Comment faire pour que mon objet BB contiennent une liste d'erreurs ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105 package fr; import java.io.Serializable; import java.util.Date; import java.util.HashSet; import java.util.Set; public class BB implements Serializable { private static final long serialVersionUID = 0L; private String identifiantBB; private Date dateDebut; private Date dateFin; // Je souhaiterais que mon objet BB contiennent ma liste d'erreurs. private Set listeErreurs = new HashSet(); public BB() { } public BB(String id) { identifiantBB = id; } public String getIdentifiantBB() { return identifiantBB; } public void setIdentifiantBB(String identifiantBB) { this.identifiantBB = identifiantBB; } public Date getDateDebut() { return dateDebut; } public void setDateDebut(Date dateDebut) { this.dateDebut = dateDebut; } public Date getDateFin() { return dateFin; } public void setDateFin(Date dateFin) { this.dateFin = dateFin; } public Serializable getId() { return (Serializable)identifiantBB; } public void setId(Serializable s) { identifiantBB = (String)s; } public Set getListeErreurs() { return listeErreurs; } public void setListeErreurs(Set listeErreurs) { this.listeErreurs = listeErreurs; } } package fr; import java.io.Serializable; public class Erreur implements Serializable { private static final long serialVersionUID = 0L; private String codeErreur; private String libelleErreur; public Erreur() { } public Erreur(String code) { codeErreur = code; } public String getCodeErreur() { return codeErreur; } public void setCodeErreur(String codeErreur) { this.codeErreur = codeErreur; } public String getLibelleErreur() { return libelleErreur; } public void setLibelleErreur(String libelleErreur) { this.libelleErreur = libelleErreur; } public Serializable getId() { return (Serializable)codeErreur; } public void setId(Serializable s) { codeErreur = (String)s; } }
Merci pour votre.
F.
Partager