bonjour,
j'essaye de mettre en relation 2 entity avec jpa le souci est que le champs keyClient dans adress est toujours null
merci de votre aide .
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124 /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package fr.ietevents.serviceweb.Entity; import java.io.Serializable; import java.math.BigDecimal; import java.util.Collection; import javax.persistence.Basic; import javax.persistence.CascadeType; import javax.persistence.CollectionTable; import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; /** * * @author IETEVENTS */ @Entity @Table(name = "Client") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Client.findAll", query = "SELECT c FROM Client c"), @NamedQuery(name = "Client.findById", query = "SELECT c FROM Client c WHERE c.KeyClient = :KeyClient"), @NamedQuery(name = "Client.findByNom", query = "SELECT c FROM Client c WHERE c.nom = :nom"), @NamedQuery(name = "Client.findByPrenom", query = "SELECT c FROM Client c WHERE c.prenom = :prenom")}) public class Client implements Serializable { private static final long serialVersionUID = 1L; // @Max(value=?) @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "KeyClient") private BigDecimal KeyClient; @Size(max = 255) @Column(name = "nom") private String nom; @Size(max = 255) @Column(name = "prenom") private String prenom; @OneToMany(cascade = CascadeType.ALL,mappedBy = "client") private Collection<Adresse> adresse; public Client() { } public Client(BigDecimal id) { this.KeyClient = id; } public Collection<Adresse> getAdresse() { return adresse; } public void setAdresse(Collection<Adresse> adresse) { this.adresse = adresse; } public BigDecimal getId() { return KeyClient; } public void setId(BigDecimal id) { this.KeyClient = id; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public String getPrenom() { return prenom; } public void setPrenom(String prenom) { this.prenom = prenom; } @Override public int hashCode() { int hash = 0; hash += (KeyClient != null ? KeyClient.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Client)) { return false; } Client other = (Client) object; if ((this.KeyClient == null && other.KeyClient != null) || (this.KeyClient != null && !this.KeyClient.equals(other.KeyClient))) { return false; } return true; } @Override public String toString() { return "fr.ietevents.serviceweb.Entity.Client[ id=" + KeyClient + " ]"; } }
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121 /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package fr.ietevents.serviceweb.Entity; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; /** * * @author IETEVENTS */ @Entity @Table(name = "Adresse") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Adresse.findAll", query = "SELECT a FROM Adresse a"), @NamedQuery(name = "Adresse.findByKeyAdresse", query = "SELECT a FROM Adresse a WHERE a.keyAdresse = :keyAdresse"), @NamedQuery(name = "Adresse.findByAdresse", query = "SELECT a FROM Adresse a WHERE a.adresse = :adresse"), @NamedQuery(name = "Adresse.findByKeyLocalite", query = "SELECT a FROM Adresse a WHERE a.keyLocalite = :keyLocalite")}) public class Adresse implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "KeyAdresse") private Integer keyAdresse; @Size(max = 90) @Column(name = "Adresse") private String adresse; @Column(name = "KeyLocalite") private Integer keyLocalite; @ManyToOne() @JoinColumn(name = "KeyClient") private Client client ; public Adresse() { } public Adresse(Integer keyAdresse) { this.keyAdresse = keyAdresse; } public Client getClient() { return client; } public void setClient(Client client) { this.client = client; } public Integer getKeyAdresse() { return keyAdresse; } public void setKeyAdresse(Integer keyAdresse) { this.keyAdresse = keyAdresse; } public String getAdresse() { return adresse; } public void setAdresse(String adresse) { this.adresse = adresse; } public Integer getKeyLocalite() { return keyLocalite; } public void setKeyLocalite(Integer keyLocalite) { this.keyLocalite = keyLocalite; } @Override public int hashCode() { int hash = 0; hash += (keyAdresse != null ? keyAdresse.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Adresse)) { return false; } Adresse other = (Adresse) object; if ((this.keyAdresse == null && other.keyAdresse != null) || (this.keyAdresse != null && !this.keyAdresse.equals(other.keyAdresse))) { return false; } return true; } @Override public String toString() { return "fr.ietevents.serviceweb.Entity.Adresse[ keyAdresse=" + keyAdresse + " ]"; } }
Partager