Remplir un combobox à partir des données de la base
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:
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:
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:
1 2 3 4 5
| public interface ProjetService extends GenericService<Projet, Long> {
List<Projet> getListProjetSortedByOrder();
public List<Projet> selectItems();
} |
ProjetServiceImpl
Code:
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:
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.