alut tout le monde je suis en train de développer une application web avec hibernate et jsf.Mais j'ai l'erreur suivante lors de l'insertion d'une clé étrangére:j_idt8:nomZone : erreur de validation. La valeur est incorrecte.
j'ai 2 tables zone et complexe ,complexe fait référence a zone .
Voila le code :
GenerivConverter.java
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
 
package fr.code.parc.controller;
 
import fr.code.parc.dao.ZoneDao;
import fr.code.parc.dao.ZoneDaoImpl;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
 
/**
 *
 * @author raddaouirami
 */
@ManagedBean
@ViewScoped
public class GenericConverter implements Converter, Serializable {
    ZoneDao dao = new ZoneDaoImpl();
    private Map <UUID, Object> temporaryStore = new HashMap <UUID, Object> ();
 
 
 
 
 
    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        System.out.println("ici "+temporaryStore.get(UUID.fromString(value)));
        return temporaryStore.get(UUID.fromString(value));
    }
 
    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        UUID id = UUID.randomUUID();
        temporaryStore.put(id, value);
        return id.toString();    }
}
ZoneController.java
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
 
package fr.code.parc.controller;
 
import fr.code.parc.dao.ZoneDao;
import fr.code.parc.dao.ZoneDaoImpl;
import fr.code.parc.model.ZoneParc;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;
 
/**
 *
 * @author raddaouirami
 */
@ManagedBean
@SessionScoped
public class ZoneController {
 
    /**
     * Creates a new instance of ZoneController
     */
 
    private ZoneParc zone;
    private Set<ZoneParc> zn;
    private DataModel listeZones;
    private Hashtable htzone = new Hashtable();
    private List zonelist = new ArrayList(); 
    private List<SelectItem> mesElements;
    private String maValeur;
    ArrayList<String> list = new ArrayList<String>();
    ZoneDao dao = new ZoneDaoImpl();
 
 
 
   public DataModel getListeZones() {
        List<ZoneParc> liste = new ZoneDaoImpl().list();
        listeZones = new ListDataModel(liste);
        return listeZones;
}
 
   public ZoneParc getZone() {
        return zone;
}
    public void setZone(ZoneParc zone) {
        this.zone = zone;
}
 
    public String preparationAddZone(){
        setZone(new ZoneParc());
        return "zone";
}
    public String preparationEditZone(){
        setZone((ZoneParc) (getListeZones().getRowData()));
        return "zone";
}
 
    public String DeleteZone(){
        ZoneParc users = (ZoneParc)(getListeZones().getRowData());
        dao.remove(users);
        return "index";
    }
    public String SaveZone(){
        dao.save(getZone());
        return "index";
    }
    public String UpdateZone(){
        dao.update(zone);
        return "index";
    }
 
    /**
     * @param mesElements the mesElements to set
     */
 
 
    /**
     * @return the maValeur
     */
    public String getMaValeur() {
        return maValeur;
    }
 
    /**
     * @param maValeur the maValeur to set
     */
    public void setMaValeur(String maValeur) {
        this.maValeur = maValeur;
    }
 
 public Hashtable remplireItem()
{
    htzone.clear();
    zonelist.clear();
 
    List l = dao.list();
    for (Iterator it = l.iterator(); it.hasNext();){
        ZoneParc zone= (ZoneParc) l.get(l.indexOf(it.next()));
        zonelist.add(zone.getNomZone());
        htzone.put(zone.getNomZone(), zone);
 
    }
return htzone;
}  
}
et dernièrement le code du Test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
       Génération des Complexes

      Nom Complexe: 
    Nom Zone: