Bonjour à tous .
J'ai 2 tables archi et forme et la table_relation: archi_forme.
j'ai une relation oneToMany entre les 2.
en concret:
archi:
Forme
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 @Entity @Table(name = "archi", catalog = "test") public class Archi implements java.io.Serializable { private static final long serialVersionUID = 7170259565513611236L; private Integer id; private String numA; private String nom; private boolean enabled; private Set<Forme> formes; public Sfd() {} public Sfd(String numA, String nom, ) { this.numA = numA; this.nom = nom; this.enabled = true; this.formes=new HashSet<Forme>(); } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "id", unique = true, nullable = false) public Integer getId() {return this.id;} public void setId(Integer id) { this.id = id;} @Column(name = "numA", nullable = false, length = 20) public String getNumA() {return this.numA; } public void setNumA(String numA) { this.numA = numA;} @Column(name = "nom", nullable = false, length = 50) public String getNom() {return this.nom;} public void setNom(String nom) {this.nom = nom;} @Column(name = "enabled", nullable = false) public boolean isEnabled() {return this.enabled; } public void setEnabled(boolean enabled) {this.enabled = enabled;} /**********************************************************/ @ManyToMany(fetch = FetchType.LAZY) @Cascade( { CascadeType.SAVE_UPDATE }) @JoinTable(name = "archi_forme", catalog = "test", joinColumns = { @JoinColumn(name = "idArchi", nullable = false) }, inverseJoinColumns = { @JoinColumn(name = "idForme", nullable = false) }) public Set<Forme> getFormes() {return this.formes;} public void setFormes(Set<Forme> formes) {this.formes = formes;} public void addForme(Forme forme){ this.formes.add(forme); } }
Archi_Forme
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 @Entity @Table(name = "forme", catalog = "test") public class Forme implements java.io.Serializable { private static final long serialVersionUID = -6205175265164825024L; private Integer id; private String libelle; private boolean enabled; private Set<Archi> archis; public FormeJuridique() {} public FormeJuridique(String libelle, boolean enabled) { this.libelle = libelle; this.enabled = enabled; this.archis=new HashSet<Archi>(); } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "id", unique = true, nullable = false) public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } @Column(name = "libelle", nullable = false, length = 20) public String getLibelle() {return this.libelle;} public void setLibelle(String libelle) {this.libelle = libelle;} @Column(name = "enabled", nullable = false) public boolean isEnabled() {return this.enabled;} public void setEnabled(boolean enabled) { this.enabled = enabled;} @ManyToMany(fetch = FetchType.LAZY,mappedBy = "forme") @Cascade( { CascadeType.SAVE_UPDATE }) @JoinTable(name = "archi_forme", catalog = "test", joinColumns = { @JoinColumn(name = "idForme", nullable = false) }, inverseJoinColumns = { @JoinColumn(name = "idArchi", nullable = false) }) public Set<Archi> getArchis() { return this.archis; } public void setArchis(Set<Archi> archis) { this.archis = archis; } }
Quand j'execute l'orsque je met une commande de ce genre :
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 public class ArchiForme implements java.io.Serializable { /** * */ private static final long serialVersionUID = -5636523418562821907L; private Integer id; private int idArchi; private int idForme; private Date dateDebut; private Date dateFin; private boolean enabled; public ArchiForme() { } public ArchiForme(int idArchi, int idForme, Date dateDebut) { this.idArchi= idArchi; this.idForme = idForme; this.dateDebut = dateDebut; this.enabled = true; } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "id", unique = true, nullable = false) public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } @Column(name = "idArchi", nullable = false) public int getIdArchi() { return this.idArchi; } public void setIdArchi(int idArchi) { this.idArchi = idArchi; } @Column(name = "idForme", nullable = false) public int getIdForme() { return this.idForme; } public void setIdForme(int idForme) { this.idForme = idForme; } @Temporal(TemporalType.DATE) @Column(name = "dateDebut", length = 10) public Date getDateDebut() { return this.dateDebut; } public void setDateDebut(Date dateDebut) { this.dateDebut = dateDebut; } @Temporal(TemporalType.DATE) @Column(name = "dateFin", length = 10) public Date getDateFin() { return this.dateFin; } public void setDateFin(Date dateFin) { this.dateFin = dateFin; } @Column(name = "enabled", nullable = false) public boolean isEnabled() { return this.enabled; } public void setEnabled(boolean enabled) { this.enabled = enabled; } }
la valeur de archi est sauve ainsi que celle de forme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 FormeJ f=new Forme("Carre", true); Archi archi=new Archi("archi1", "archi1"); archi.addForme(fj; archiService.save(archi);
^Par contre pour la table relationarchi_forme il nya rien de sauve !!! Quelqu'un peut il m'aider pleaaase
Partager