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 :

L'évènement onchange en JSF


Sujet :

JSF Java

  1. #21
    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
    mais avec tes requete ORM on résonne avec des objets et pour la correspondance entre tes colonne et tes propriétés c'est ton framework ORM qui va le faire

  2. #22
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 251
    Par défaut
    Oui mais comme je te l'ai précisé, la méthode createQuery ne te permets de requêter que des propriétés de tes entités.
    Ta contrainte de clef étrangère n'est pas bindée sur une propriété de tes entités, tu ne peux pas effectuer une requête du type "select c from Societe c where c.SPECIALITE_ID=:id" en jpa .

    Tu peux exécuter ta requête mais uniquement en sql natif avec la méthode createNativeQuery

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Query query = em.createNativeQuery("select c from Societe c where c.SPECIALITE_ID=:id",Societe.class);
    Si tu veux utiliser une requête JPA, il faut d'abord que tu corriges ton mapping dans la classe Societe en lui précisant la colonne de jointure vers la table Specialite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class Societe implements Serializable {
     
    	@ManyToOne
            @JoinColumn(name = "SPECIALITE_ID")
    	private Specialite specialite;
    Ensuite tu pourra effectuer la requête JPA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Query query = em.createQuery("select soc from Societe soc where soc.specialite.id=:idSpecialite");

  3. #23
    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
    Citation Envoyé par NoClassDefFound Voir le message
    Oui mais comme je te l'ai précisé, la méthode createQuery ne te permets de requêter que des propriétés de tes entités.
    Ta contrainte de clef étrangère n'est pas bindée sur une propriété de tes entités, tu ne peux pas effectuer une requête du type "select c from Societe c where c.SPECIALITE_ID=:id" en jpa .

    Tu peux exécuter ta requête mais uniquement en sql natif avec la méthode createNativeQuery

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Query query = em.createNativeQuery("select c from Societe c where c.SPECIALITE_ID=:id",Societe.class);
    Si tu veux utiliser une requête JPA, il faut d'abord que tu corriges ton mapping dans la classe Societe en lui précisant la colonne de jointure vers la table Specialite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class Societe implements Serializable {
     
    	@ManyToOne
            @JoinColumn(name = "SPECIALITE_ID")
    	private Specialite specialite;
    Ensuite tu pourra effectuer la requête JPA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Query query = em.createQuery("select soc from Societe soc where soc.specialite.id=:idSpecialite");
    Voici ce que je te disais merci pour cette exemple tu es obligé de mettre c.specialite.id car ton framework d'ORM te permet de faire des requetes HQL qui sont orientées objet et pas sql

  4. #24
    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
    mais dans ma table Societe j'ai un champs SPECIALITE_ID qui est un clé etranger et dans la table Specialite j'ai deux champs: ID,DESCRIPTIONSPECIALITE
    on ne peux pas parler de ces noms des champs dans la base , puisque ta requête est de type HQL donc on parle ici de la classe societe qui a un champ id onc le problème je suppose avec ta requête, si tu n'arrive pas essaye d'utiliser la jointure de la la classe societe avec specialite

Discussions similaires

  1. variable session + événement OnChange
    Par ekinoxe dans le forum ASP
    Réponses: 1
    Dernier message: 07/02/2006, 12h45
  2. envoyer un formulaire sur un évènement onchange.
    Par maniaco_jazz dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/11/2005, 14h44
  3. Courcircuiter l'évènement OnChange d'un TEdit
    Par Captain_JS dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/07/2005, 14h33
  4. [HTML] Probleme avec les événement OnChange et OnClick
    Par G_Kill dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 04/05/2005, 16h06
  5. Récupérer événements OnChange&OnScroll de ScrollBox
    Par bohort dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/09/2004, 10h24

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