Salut a tous,
j'ai les 2 table suivantes:
parent=>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE TABLE parent
(
  nom character varying NOT NULL,
  CONSTRAINT parent_pkey PRIMARY KEY (nom)
)
enfant=>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
CREATE TABLE enfant
(
  "nomEnfant" character varying NOT NULL,
  parent character varying,
  CONSTRAINT enfant_pkey PRIMARY KEY ("nomEnfant"),
  CONSTRAINT enfant_parent_fkey FOREIGN KEY (parent)
      REFERENCES parent (nom) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
l'insertion d'un parent se fait sans probleme mais je rencontre un probleme lors de l'insertion d'un enfant dans la base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public void ajoutEnfantParent(String nomEnfant, String nomParent) {
        //entité parent
        Parent p=new Parent(nomParent);
        //entité enfant
        Enfant e=new Enfant(nomEnfant);
 
 
       e.setParent(p);
        parentFacade.create(p);
        enfantFacade.create(e);
 
    }
j'ai l'exception suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
L'élément du batch 0 insert into enfant (parent, nomEnfant) values (momo, toto) a été annulé. Appeler getNextException pour en connaître la cause.
SQL Error: 0, SQLState: 42703
ERROR: column "nomenfant" of relation "enfant" does not exist
Could not synchronize database state with session
voila les entities
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
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package entity;
 
import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
 
/**
 *
 * @author Hamza
 */
@Entity
@Table(name = "enfant")
@NamedQueries({@NamedQuery(name = "Enfant.findAll", query = "SELECT e FROM Enfant e"), @NamedQuery(name = "Enfant.findByNomEnfant", query = "SELECT e FROM Enfant e WHERE e.nomEnfant = :nomEnfant")})
public class Enfant implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "nomEnfant")
    private String nomEnfant;
    @JoinColumn(name = "parent", referencedColumnName = "nom")
    @ManyToOne
    private Parent parent;
 
    public Enfant() {
    }
 
    public Enfant(String nomEnfant) {
        this.nomEnfant = nomEnfant;
    }
 
    public String getNomEnfant() {
        return nomEnfant;
    }
 
    public void setNomEnfant(String nomEnfant) {
        this.nomEnfant = nomEnfant;
    }
 
    public Parent getParent() {
        return parent;
    }
 
    public void setParent(Parent parent) {
        this.parent = parent;
    }
 
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (nomEnfant != null ? nomEnfant.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 Enfant)) {
            return false;
        }
        Enfant other = (Enfant) object;
        if ((this.nomEnfant == null && other.nomEnfant != null) || (this.nomEnfant != null && !this.nomEnfant.equals(other.nomEnfant))) {
            return false;
        }
        return true;
    }
 
    @Override
    public String toString() {
        return "entity.Enfant[nomEnfant=" + nomEnfant + "]";
    }
 
}
Que faire ?
Merci d'avance.