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
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
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() { }*/ }
ProjetService
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; } }
ProjetServiceImpl
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(); }
index.xhtml
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; } }
Merci d'avance pour votre aide.
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>
Partager