如何获得一个对象字段



我在hibernate中使用连接sql,我必须返回一个List<object>。在xhtml中,我使用:list[0],list[1]...在我的数据表

中获得字段
 <p:dataTable id="display" var="listeFactures" value="#{factureBean.listeFactures}" editable="true" style="margin-bottom:10px" rowKey="#{listeFactures[0]}" selection="#{factureBean.facture}" selectionMode="single">
       <f:facet name="header">
           Liste des devis
       </f:facet>
       <p:column headerText="N° Facture">
           <p:cellEditor>
               <f:facet name="output"><h:outputText value="#{listeFactures[0]}" /></f:facet>
               <f:facet name="input"><p:inputText id="modelInput" value="#{listeFactures[0]}" style="width:100%"/></f:facet>

现在,为了编辑字段,我选择一行,它给我一个对象因此,我使用索引factureBean.facture[0]以相同的方式访问但是在我的bean中,我不知道如何得到我改变过的值因为它是一个对象。通常,如果它是一个特定的,如Facture,我使用getFacture().getIdFacture()来改变id。如果有人有一个想法如何做到这一点,我感谢你的帮助编辑:这是Facture.java

package net.vo;
import java.util.Date;
public class Facture  implements java.io.Serializable {

     private int idFacture;
     private Bondecommande bondecommande;
     private Rubrique rubrique;
     private Date dateFacture;
     private double montantFacture;
     private String etatFacture;
    public Facture() {
    }

    public Facture(int idFacture, Bondecommande bondecommande, Rubrique rubrique) {
        this.idFacture = idFacture;
        this.bondecommande = bondecommande;
        this.rubrique = rubrique;
    }
    public Facture(int idFacture, Bondecommande bondecommande, Rubrique rubrique, Date dateFacture, double montantFacture, String etatFacture) {
       this.idFacture = idFacture;
       this.bondecommande = bondecommande;
       this.rubrique = rubrique;
       this.dateFacture = dateFacture;
       this.montantFacture = montantFacture;
       this.etatFacture = etatFacture;
    }
    public int getIdFacture() {
        return this.idFacture;
    }
    public void setIdFacture(int idFacture) {
        this.idFacture = idFacture;
    }
    public Bondecommande getBondecommande() {
        return this.bondecommande;
    }
    public void setBondecommande(Bondecommande bondecommande) {
        this.bondecommande = bondecommande;
    }
    public Rubrique getRubrique() {
        return this.rubrique;
    }
    public void setRubrique(Rubrique rubrique) {
        this.rubrique = rubrique;
    }
    public Date getDateFacture() {
        return this.dateFacture;
    }
    public void setDateFacture(Date dateFacture) {
        this.dateFacture = dateFacture;
    }
    public double getMontantFacture() {
        return this.montantFacture;
    }
    public void setMontantFacture(double montantFacture) {
        this.montantFacture = montantFacture;
    }
    public String getEtatFacture() {
        return this.etatFacture;
    }
    public void setEtatFacture(String etatFacture) {
        this.etatFacture = etatFacture;
    }
}

@Override
    public List<Object> getAllFactures(int annee,int rubrique,int fournisseur) {
        Session session=HibernateUtil.getSession();
        try
        {
            session.beginTransaction();
            Rubrique r = daoR.getRubrique(rubrique);
            Fournisseur f = daoF.getFournisseur(fournisseur);
            Query q = session.createQuery("select f.idFacture,f.dateFacture,f.montantFacture,f.etatFacture,b.creditOuvert,b.creditReporte from Facture f,Budgetisation b,Rubrique r where year(f.dateFacture)=b.id.annee and f.rubrique=:rubrique and f.rubrique=r.idRubrique and r.idRubrique = b.rubrique and year(f.dateFacture)=:annee and f.bondecommande.devis.fournisseur=:fournisseur");
           q.setParameter("fournisseur", f);
          q.setParameter("rubrique", r);
         q.setParameter("annee", annee);
            listeFactures = q.list();
            return listeFactures;
        }
        catch(HibernateException e)
        {
            throw e;
        }
        finally
        {
            session.close();
        }
    }

您将获得List<Object[]>而不是List<Object>,同时您将获得包含列(单个对象)的记录列表(object[])

相关内容

  • 没有找到相关文章