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
    Nouveau membre du Club
    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
    Points : 33
    Points
    33
    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 averti 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
    Points : 314
    Points
    314
    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
    Si ce message vous a aidé, pensez à voter pour lui !
    Pensez au si votre problème est résolu

    Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent on en cherche

  3. #3
    Nouveau membre du Club
    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
    Points : 33
    Points
    33
    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
    Nouveau membre du Club
    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
    Points : 33
    Points
    33
    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 averti 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
    Points : 314
    Points
    314
    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;
    		}
    	}
    Si ce message vous a aidé, pensez à voter pour lui !
    Pensez au si votre problème est résolu

    Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent on en cherche

  6. #6
    Nouveau membre du Club
    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
    Points : 33
    Points
    33
    Par défaut
    je pense que c'est i.produit.id et pas i.id

  7. #7
    Nouveau membre du Club
    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
    Points : 33
    Points
    33
    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
    Nouveau membre du Club
    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
    Points : 33
    Points
    33
    Par défaut
    je sais pas ce que je dois faire!!!!

  9. #9
    Membre averti 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
    Points : 314
    Points
    314
    Par défaut
    Non c'est i.id car i c'est image et i.id c'est l'id de l'image
    Si ce message vous a aidé, pensez à voter pour lui !
    Pensez au si votre problème est résolu

    Des chercheurs qui cherchent on en trouve, des chercheurs qui trouvent on en cherche

  10. #10
    Nouveau membre du Club
    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
    Points : 33
    Points
    33
    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 régulier
    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
    Points : 101
    Points
    101
    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