IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

jointure en jpa dans une formulaire jsf


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Par défaut jointure en jpa dans une formulaire jsf
    bonjour ,je suis débutante en jsf et jpa , dans mon requéte je veux créer une jointure entre 3 table catégorie,produit et image,bon je veux lorsque je choisi la catégorie il m'affiche la liste des produit intégré dans cette catégorie avec les images de ses produits.dans ma base de donnée j'ai une liaison entre ses 3 tables:

    la table Produit contient IDCategorie,ainsi que la table image contient IDProduit
    bon voila les classe sous format image.

    et si vous voulez me rendre cette requete jdbc sous forme d'une requete jpa:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select id,nom,chemin from image i join produit pon(i.produit_id=p.id) join categorie c on(c.id=p.categorie_id);
    Images attachées Images attachées    

  2. #2
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select i FROM image as i;
    pas de jointuire car une image a un produit et un produit une catégorie tout dépend de ton mapping

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Par défaut
    j'ai pas bien compris comment ça et je dois ajouter cette requete dans le daoCatégorie ou bien DAOproduit ou DAOimage

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Par défaut
    est que la requete est correcte???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public List<Produit> findByIdimage(Long Idimage){
     
    		try {
    			Query query = em.createQuery("select i FROM image asi:img");
    			query.setParameter("img", Idimage);
    			return (List<Produit>)query.getSingleResult();
    		}catch(Exception e){
    			e.printStackTrace();
    			return null;
    		}
    	}

  5. #5
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public List<Produit> findByIdimage(Long Idimage){
     
    		try {
    			Query query = em.createQuery("select i FROM image as i WHERE i.id=:img");
    			query.setParameter("img", Idimage);
    			return (List<Produit>)query.getSingleResult();
    		}catch(Exception e){
    			e.printStackTrace();
    			return null;
    		}
    	}

  6. #6
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Par défaut
    je pense que c'est i.produit.id et pas i.id

  7. #7
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Par défaut
    classe Bean:

    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
     
    public class ProduitBean {
     
    	private Long idProd;
    	private List<Produit> tout_les_prod;
    	private Long idSos;
    	private Long idCat;
    	private Produit produit;
    	private Categorie categorie;
    	private Societe societe;
    	private Image image;
     
    	public Image getImage() {
    		return image;
    	}
     
    	public void setImage(Image image) {
    		this.image = image;
    	}
     
    	@PostConstruct
    	public void init( ){
    		produit=new Produit();
    		tout_les_prod= new DaoProduit().findAll();
     
    	}
     
    	public void afficher() {
    		tout_les_prod=new DaoProduit().findByIdimage(idProd);
    	}
     
    	public Long getIdProd() {
    		return idProd;
    	}
     
    	public void setIdProd(Long idProd) {
    		this.idProd = idProd;
    	}
     
    	public List<Produit> getTout_les_prod() {
    		return tout_les_prod;
    	}
     
    	public void setTout_les_prod(List<Produit> tout_les_prod) {
    		this.tout_les_prod = tout_les_prod;
    	}
     
    	public Long getIdSos() {
    		return idSos;
    	}
     
    	public void setIdSos(Long idSos) {
    		this.idSos = idSos;
    	}
     
    	public Long getIdCat() {
    		return idCat;
    	}
     
    	public void setIdCat(Long idCat) {
    		this.idCat = idCat;
    	}
     
    	public Produit getProduit() {
    		return produit;
    	}
     
    	public void setProduit(Produit produit) {
    		this.produit = produit;
    	}
     
    	public Categorie getCategorie() {
    		return categorie;
    	}
     
    	public void setCategorie(Categorie categorie) {
    		this.categorie = categorie;
    	}
     
    	public Societe getSociete() {
    		return societe;
    	}
     
    	public void setSociete(Societe societe) {
    		this.societe = societe;
    	}
     
    	public ProduitBean(Long idProd, List<Produit> tout_les_prod, Long idSos,
    			Long idCat, Produit produit, Categorie categorie, Societe societe) {
    		super();
    		this.idProd = idProd;
    		this.tout_les_prod = tout_les_prod;
    		this.idSos = idSos;
    		this.idCat = idCat;
    		this.produit = produit;
    		this.categorie = categorie;
    		this.societe = societe;
    	}
     
    	public ProduitBean() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    classe dao:
    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
     
    public List<Produit> findAll(){
    		Query query = em.createQuery("select p from Produit p");
    		return (List<Produit>) query.getResultList();
    	}
     
    	public List<Produit> findByIdimage(Long Idimage){
     
    		try {
    			Query query = em.createQuery("select i FROM image as i WHERE i.produit.id=:img");
    			query.setParameter("img", Idimage);
    			return (List<Produit>)query.getSingleResult();
    		}catch(Exception e){
    			e.printStackTrace();
    			return null;
    		}
    	}
    page xhtml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <p:dataGrid var="prod" value="#{produitBean.tout_les_prod}" columns="3"  
            rows="12" paginator="true"  >  
            <p:column>  
                <p:panel header="" style="text-align:center">  
                    <h:panelGrid columns="1" style="width:100%">  
         <p:graphicImage value="#{image.id}"/>  
         <h:outputText value="#{produitBean.afficher}" />
                    </h:panelGrid>  
                </p:panel>  
            </p:column>  
     
        </p:dataGrid>

  8. #8
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Par défaut
    je sais pas ce que je dois faire!!!!

  9. #9
    Membre très actif Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Par défaut
    Non c'est i.id car i c'est image et i.id c'est l'id de l'image

  10. #10
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Par défaut
    svp peut tu vérifié si mon code est -il correcte ou bien nn svp (classe bean ,dao et page xhtml)

  11. #11
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    Citation Envoyé par tifawa Voir le message
    je sais pas ce que je dois faire!!!!
    t'a plusieurs solutions pour identifier ton problème (coté BD/ JPA/ REQUETE/ View...) :
    -soit tu démarre le serveur en mode debug
    -tu met des system.out.println pour vérifier si tu récupère bien tes enregistrements depuis la base de données
    essaye de vérifier ça avant de passer à autre chose

Discussions similaires

  1. Persistance JPA dans une page JSF
    Par Christophe39 dans le forum JSF
    Réponses: 16
    Dernier message: 01/12/2013, 14h09
  2. afficher des etats ireports dans une appli jsf
    Par ouedmouss dans le forum Documents
    Réponses: 1
    Dernier message: 09/02/2007, 07h05
  3. Relation Many-to-One dans une application JSF
    Par KooKoolen dans le forum JSF
    Réponses: 1
    Dernier message: 27/12/2006, 14h13
  4. Réponses: 6
    Dernier message: 28/06/2006, 15h01
  5. jointure et rechche dans une base avec sql
    Par sabrina22 dans le forum Bases de données
    Réponses: 9
    Dernier message: 06/01/2006, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo