Bonjour,

Je suis débutante en Hibernate et je voudrais remplir un combobox à partir des données de la base. J'ai essayé mais sans résultat.

Voici le code

Projet
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
import java.io.Serializable; 
 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.Id; 
import javax.persistence.Table; 
import javax.persistence.UniqueConstraint; 
import javax.validation.constraints.Size; 
 
@Entity 
@Table(uniqueConstraints = @UniqueConstraint(columnNames = { "nom" })) 
public class Projet implements Serializable{ 
 
@Id 
@GeneratedValue 
@Column(name = "id") 
private String id; 
 
@Size(max = 50) 
@Column(length = 50) 
private String nom; 
 
@Size(max = 50) 
@Column(length = 50) 
private String description; 
 
@Size(max = 50) 
@Column(length = 50) 
private String datedebut; 
 
@Size(max = 50) 
@Column(length = 50) 
private String datefin; 
 
public String getNom() { 
return nom; 
} 
 
public void setNom(String nom) { 
this.nom = nom; 
} 
 
public String getId() { 
return id; 
} 
 
public void setId(String id) { 
this.id = id; 
} 
 
public String getDescription() { 
return description; 
} 
 
public void setDescription(String description) { 
this.description = description; 
} 
 
public String getDatedebut() { 
return datedebut; 
} 
 
public void setDatedebut(String datedebut) { 
this.datedebut = datedebut; 
} 
 
public String getDatefin() { 
return datefin; 
} 
 
public void setDatefin(String datefin) { 
this.datefin = datefin; 
} 
 
/*public Projet(String nom) { 
super(); 
this.nom = nom; 
} 
 
 
public Projet() { 
}*/ 
}
ProjetBeans
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
@Named(value="projetBean") 
@RequestScoped 
 
public class ProjetBean { 
 
private List<Projet> projets; 
private Projet selectedProjets; 
 
private List<SelectItem> selectOneItemsProjet; 
 
public ProjetBean() 
{ 
this.selectedProjets=new Projet(); 
this.projets=new ArrayList<Projet>(); 
 
} 
 
public Projet getSelectedProjet() 
{ 
return selectedProjets; 
} 
 
public void setSelectedProjet(Projet selectedProjet) 
{ 
this.selectedProjets=selectedProjet; 
} 
 
public List<SelectItem> getSelectOneItemsProjet() 
{ 
this.selectOneItemsProjet=new ArrayList<SelectItem>(); 
ProjetService projetservice=new ProjetServiceImpl(); 
List<Projet> projets=projetservice.selectItems(); 
 
for (Projet projet : projets){ 
SelectItem selectItem= new SelectItem(projet.getId(),projet.getNom()); 
this.selectOneItemsProjet.add(selectItem); 
 
} 
return selectOneItemsProjet; 
} 
}
ProjetService
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public interface ProjetService extends GenericService<Projet, Long> { 
 
List<Projet> getListProjetSortedByOrder(); 
public List<Projet> selectItems(); 
}
ProjetServiceImpl

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
@Service 
@Transactional 
public class ProjetServiceImpl extends GenericServiceImpl<Projet, Long> implements 
ProjetService, Serializable { 
 
private static final long serialVersionUID = 1L; 
 
@Autowired 
private ProjetRepository projetRepository; 
 
@Override 
public GenericDAO<Projet, Long> getDAO() { 
return projetRepository; 
} 
 
@SuppressWarnings("unchecked") 
@Override 
public List<Projet> getListProjetSortedByOrder() { 
Search search = new Search(Projet.class); 
search.addSortAsc("nom"); 
return (List<Projet>) searchBean.search(search); 
} 
 
@Override 
public List<Projet> selectItems() { 
List<Projet> listado=null; 
Session session=HibernateUtil.getSessionFactory().getCurrentSession(); 
 
String sql="From projet"; 
try{ 
session.beginTransaction(); 
listado=session.createQuery(sql).list(); 
session.beginTransaction().commit(); 
 
}catch (Exception e) 
{ 
session.beginTransaction().rollback(); 
} 
 
return listado; 
} 
}
index.xhtml
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<h:outputText value="#{lbl['attr.Projet']}" 
styleClass="required" /> 
<p:selectOneMenu filter="true" filterMatchMode="contains" panelStyleClass="hide-disabled" 
required="true" 
value="#{projetBean.selectedProjet.nom}" 
label="#{lbl['attr.Projet']}" 
converter="#{entityConverter}"> 
 
<f:selectItem itemLabel="#{lbl['attr.selectionner']}" itemValue="#{null}" itemDisabled="true" /> 
<f:selectItems value="#{projetBean.selectOneItemsProjet}" /> 
</p:selectOneMenu>
Merci d'avance pour votre aide.