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

Hibernate Java Discussion :

[HIBERNATE] - Débutant - Requête croisées


Sujet :

Hibernate Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut [HIBERNATE] - Débutant - Requête croisées
    Bonjour,

    Je suis un grand débutant d'Hibernate, et comme beaucoup de monde ne jure que par Hibernate je suis en train de m'y mettre. J'effectue pour l'instant des tests avant de me lancer dans le développement d'une appli. Jusqu'à présent j'ai réussi à faire les commandes de base dessus : Insert, Select (très léger), Update, Delete.

    En ce moment je suis en train d'essayer d'effectuer une requête croisée et c'est le drame. Voici quelques détails :

    Je développe sous Eclipse 3.0, avec le plugin Hibernate Synchroniser. Ma base de données est sous MySQL en local. Sur cette base j'ai deux tables Contact et Titre; elles contiennent différentes infos, et Contact contient une cle étrangère vers Titre. Voici un MLD :

    Contact (id, nom, prenom, age, #num_titre)
    Titre (id, libelle)

    J'ai configuré mon accès avec Hibernate, j'ai donc un fichier hibernate.cfg.xml, un fichier Contact.hbm et un fichier Titre.hbm.
    J'ai en plus mes fichiers de class Contact et Titre.

    Dans mon programme je veux, pouvoir effectuer une requête croisée de la forme :

    Select nom, libelle
    From Contact, Titre
    Where Contact.num_titre = Titre.id
    And Titre.libelle="Mr";

    Voici donc mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     	List cats = session.createSQLQuery(
     			"SELECT nom, libelle FROM CONTACT AS {Contact}, TITRE AS {titre} " +
     			"WHERE Contact.num_titre = titre.id", , ,
     			).list();
    Le problème qu'il y a, est que dans un session.createSQLQuery, il faut que je mettre à la fin de la requête deux String, le titre et le nom d'une classe, pour traiter les résultats.

    Et là je suis perdu, comment faire pour effectuer une requête de ce style, tout en ayant aucune classe regroupant ces infos (il me faudrait les deux classes).

    Vu la réputation d'Hibernate, je pense que je me suis soit fourviyer dans un mauvais chemin pour faire une requête de ce style soit que je suis perdu (ce qui est largement possible ).

    Merci par avance de votre aide précieuse.

    Un homme en plein de desespoir, mais qui espère grâce à vous !!!
    Charles Maynié.
    Consultant SharePoint /.NET

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Pkoi n'utilises tu pas les clauses du genre inner join fournies par Hibernate, je pense que tu devrais lire la docassociée, tu ne pourras que gagner du temps

    Parce que la j ai l'impression que tu te compliques mechament la vie

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par SEMPERE Benjamin
    Pkoi n'utilises tu pas les clauses du genre inner join fournies par Hibernate, je pense que tu devrais lire la docassociée, tu ne pourras que gagner du temps

    Parce que la j ai l'impression que tu te compliques mechament la vie
    Je regarde ca. Merci
    Charles Maynié.
    Consultant SharePoint /.NET

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    J'ai regardé la doc, et donc ca avance.
    J'ai effectué une requete avec innerjoin, comme tu me le conseillais, mais maintenant j'ai un problème pour scanner les résultats, peux-tu m'aider ??

    ATTENTION : j'ai changé ma requête.

    Voici mon code :

    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
     
    Query q = session.createQuery(
     			"from Titre" +
     			"inner join Contact " +
     			"where Contact.num_titre = Titre.id"
     			);
     	System.out.println("Fin de la requête");
     
     	Transaction tx = session.beginTransaction();
     	tx.commit();
     
     	try {
     	Iterator it = q.iterate();
     	int i=1;
     	while(it.hasNext())
     	{
     		System.out.println("Enregistrement numero -> "+i);
     		i++;
     	}
     	}catch(Exception e){System.out.println("Erreur");}
    Voici ce que me retourne la console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Fin de la requête
    Erreur
    Merci par avance.
    Charles Maynié.
    Consultant SharePoint /.NET

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    Les choses ont encore évoluée, mais je repost encore car car j'ai un problème dans ma requête et je n'arrive pas à trouver d'ou cela vient.
    Voici ma requête :

    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
     
    try {
     		tx = session.beginTransaction();
     	 	System.out.println("Lancement de la requete");
     	 	Query q = session.createQuery(
     	 			"from Titre " +
     		        "inner join Contact ON Titre.id = Contact.num_titre"
     	 			);
     
     	 	System.out.println("Fin de la requête");
     	 	result = q.list();
     	 	tx.commit();
     
     	}catch (HibernateException he) 
    	{
     		if (tx!=null) {
     			tx.rollback();
     			System.out.println("Rollback");
     		}
     		throw he;
     	} 			);
    Voici le résultat retourné à la console :

    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
     
    Lancement de la requete
    Fin de la requête
    Rollback
    Exception in thread "main" net.sf.hibernate.QueryException: outer or full join must be followed by path expression [from com.minosis.hibernate.Titre inner join Contact ON Titre.id = Contact.num_titre]
    	at net.sf.hibernate.hql.FromParser.token(FromParser.java:166)
    	at net.sf.hibernate.hql.ClauseParser.token(ClauseParser.java:87)
    	at net.sf.hibernate.hql.PreprocessingParser.token(PreprocessingParser.java:123)
    	at net.sf.hibernate.hql.ParserHelper.parse(ParserHelper.java:29)
    	at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:149)
    	at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:138)
    	at net.sf.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:294)
    	at net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1562)
    	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1533)
    	at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
    	at Test.main(Test.java:27)
    J'ai essayé de faire cette requête avec un full join, mais le résultat est identique, quelqu'un peut-il m'aider à trouver mon erreur svp ??
    Charles Maynié.
    Consultant SharePoint /.NET

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    a ce que j ai compris ton Objet persistant Titre a une liste de Contacts??

    Si tel est le cas, as tu declare la relation (one-to-many) dans ton fichier de mapping Titre.hbm.xml?

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par SEMPERE Benjamin
    a ce que j ai compris ton Objet persistant Titre a une liste de Contacts??

    Si tel est le cas, as tu declare la relation (one-to-many) dans ton fichier de mapping Titre.hbm.xml?
    D'après ce que tu écris, j'ai l'impression d'être parti dans le mur de façon très profond.... Je te remet mon MLD :

    Contact (id, nom, prenom, age, #num_titre)
    Titre (id, libelle)

    En détail la table titre contient les données suivantes : mr, mme et mlle, je sais pas besoin de faire une table pour ça, mais c'est pour des tests.
    Donc quand on rentre un contact, on choisi son titre et on obtient une clé étrangère dans la table contact contenant l'ID du libelle du titre. Donc pour un titre donné j'ai bien une liste de Contact.

    Je n'ai donc pas mis de relation one-to-many dans lon fichier Titre.hbm mais, j'ai mis une ralation one-to-one dans mon fichier Contact.hbm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <one-to-one
         name="TitreContact"
         class="com.minosis.hibernate.Titre"
    />
    J'espère que je n'ai pas tout compris de travers.....tu me fais peur
    Charles Maynié.
    Consultant SharePoint /.NET

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    non c moi qui ai pas compris le metier desole

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    essaies avec un statement comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String statement = "select contact.nom, contact.prenom from Titre as titre inner join titre.TitreContact as contact where titre.libelle='Mr'";

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    par contre j utilise cette methode de l API pour executer la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    session.find(statement);

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    J'ai donc essayer en copiant collant ton code, et ca ne passe pas, l'erreur est la suivantes :

    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
     
    xception in thread "main" net.sf.hibernate.QueryException: could not resolve property: TitreContact of: com.minosis.hibernate.Titre [select contact.nom, contact.prenom from com.minosis.hibernate.Titre as titre inner join titre.TitreContact as contact where titre.libelle='Mr']
    	at net.sf.hibernate.persister.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
    	at net.sf.hibernate.hql.PathExpressionParser.getPropertyType(PathExpressionParser.java:249)
    	at net.sf.hibernate.hql.FromPathExpressionParser.end(FromPathExpressionParser.java:12)
    	at net.sf.hibernate.hql.ParserHelper.parse(ParserHelper.java:30)
    	at net.sf.hibernate.hql.FromParser.token(FromParser.java:193)
    	at net.sf.hibernate.hql.ClauseParser.token(ClauseParser.java:87)
    	at net.sf.hibernate.hql.PreprocessingParser.token(PreprocessingParser.java:123)
    	at net.sf.hibernate.hql.ParserHelper.parse(ParserHelper.java:29)
    	at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:149)
    	at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:138)
    	at net.sf.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:294)
    	at net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1562)
    	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1533)
    	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1521)
    	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1513)
    	at Test.main(Test.java:25)
    Je continu donc a essayer de bidouiller cela pour le faire marcher !!!!
    Charles Maynié.
    Consultant SharePoint /.NET

  12. #12
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    correction de la requete decidement!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String statement = "select contact.nom, contact.prenom from Contact as contact inner join contact.TitreContact as titre where titre.libelle='Mr'";
    En esperant....

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    Si tu passes sur Nantes je te paie un coup à boire !!!! Et oui ca passe impec !

    et je t'en offre déjà un :

    Merci beaucoup pour ton aide, maintenant je n'ai plus qu'à voir comment traiter les données retournées par le session.find, d'après ce que j'ai vu, je le met dans une liste, et je traite la liste.

    Pour info j'ai changé une chose dans ta requête, c'est le nom des variables, en effet il faut mettre la syntaxe des variables de classes et non de la base !!! bon c'est vrai juste une majuscule à ajouter

    Merci encore, et à bientot (surement) sur le forum !!
    Charles Maynié.
    Consultant SharePoint /.NET

  14. #14
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Ok pas de prob en plus un nantais donc.... Un jour peut etre a Angers j y vais souvent

    Bon ben bonne journee

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    Aie aie aie, je suis obligé de réouvrir ce post, car il y a un problème....

    Je m'explique, lorsque j'ai éxécuté la requête comme tu me le disais je n'avais plus de message d'erreur, ensuite j'effectue cec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String statement = "select contact.Nom, contact.Prenom from Contact as contact inner join contact.TitreContact as titre where titre.id='1'"; 
    List result = session.find(statement); 	 	
    System.out.println("Nombre de résultat : "+result.size());
    Et le resultsize me retourne 1 alors que j'ai trois enregistrements dans la base, avec un num_titre égal à un .... c'est donc un drame !!

    Je ne sais pas si cela vient de la requête (car elle a l'air de passer correctement) ou sinon peut être de mes fichiers de config ???

    Si tu as une idée je suis preneur (comme tout à l'heure en fait !)
    Charles Maynié.
    Consultant SharePoint /.NET

  16. #16
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    c pour ca que je de disais d avoir un one-to-many comme relation implementee entre tes objets persistant

    Toi tu as un one-to-one actuellement

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par SEMPERE Benjamin
    c pour ca que je de disais d avoir un one-to-many comme relation implementee entre tes objets persistant

    Toi tu as un one-to-one actuellement
    Je vais changer mon one-to-one en one-to-many, mais ce qui me trouble est que si je met comme id 2 alors que je n'en ais pas il me retourne 0 et si je met l'd 3 alors que je n'en ais pas non plus il me retourne 1 ??? là pour moi c'est un mystère !!

    Je fais les changements et je te tiens au courant. Merci.
    Charles Maynié.
    Consultant SharePoint /.NET

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    Alors, alors.... j'ai mis le nez dans la doc (encore une fois !!), et j'ai donc changer mon fichier Contact.hbm, j'ai ajouter la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <many-to-one name="titre" class="Titre" column="num_titre" not-null="true"/>
    Mais maintenant lorsque j'éxécute mon main, avec ta requête j'ai une erreur sur la requête (ca faisait longtemps dis moi )

    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
     
    net.sf.hibernate.QueryException: could not resolve property: TitreContact of: com.minosis.hibernate.Contact [select contact.Nom, contact.Prenom from com.minosis.hibernate.Contact as contact inner join contact.TitreContact as titre where titre.id='1']
    	at net.sf.hibernate.persister.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
    	at net.sf.hibernate.hql.PathExpressionParser.getPropertyType(PathExpressionParser.java:249)
    	at net.sf.hibernate.hql.FromPathExpressionParser.end(FromPathExpressionParser.java:12)
    	at net.sf.hibernate.hql.ParserHelper.parse(ParserHelper.java:30)
    	at net.sf.hibernate.hql.FromParser.token(FromParser.java:193)
    	at net.sf.hibernate.hql.ClauseParser.token(ClauseParser.java:87)
    	at net.sf.hibernate.hql.PreprocessingParser.token(PreprocessingParser.java:123)
    	at net.sf.hibernate.hql.ParserHelper.parse(ParserHelper.java:29)
    	at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:149)
    	at net.sf.hibernate.hql.QueryTranslator.compile(QueryTranslator.java:138)
    	at net.sf.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:294)
    	at net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1562)
    	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1533)
    	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1521)
    	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1513)
    	at Test.main(Test.java:36)
    Je suis dessus mais si tu penses savoir d'ou ca vient, je suis preneur de tes judicieux conseils.
    Charles Maynié.
    Consultant SharePoint /.NET

  19. #19
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    et comme ca pour la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String statement = "select contact.nom, contact.prenom from Contact as contact where contact.titre.libelle='Mr'";

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par SEMPERE Benjamin
    et comme ca pour la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String statement = "select contact.nom, contact.prenom from Contact as contact where contact.titre.libelle='Mr'";
    Si jamais un jour il faut noter ceux qui nous aide, prévient moi tout de suite !!! je te file le maximum

    Merci encore ca tourne impec.

    Voici le résultat final, au cas ou certaines personnes auraient le même problème :

    Contact.hbm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <many-to-one name="titre" class="Titre" column="num_titre" not-null="true"/>
    Et lancement de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String statement = "select contact.Nom, contact.Prenom from Contact as contact where contact.titre.Id='2'"; 		
    List result = session.find(statement);

    Je t'en offre deux sur ce coup là !!!

    A bientot sûrement....enfin pas sur ce post c'est promis
    Charles Maynié.
    Consultant SharePoint /.NET

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Procs stockées] [Débutant] Requête dynamique
    Par stailer dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2005, 14h29
  2. Besoin d'aide sur requête croisée
    Par keawee dans le forum Access
    Réponses: 7
    Dernier message: 18/11/2004, 09h46
  3. [débutant] requête
    Par ber_jp dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/06/2004, 20h38
  4. Requète croisée et affichage
    Par BakaOnigiri dans le forum SQL
    Réponses: 2
    Dernier message: 31/10/2002, 11h28

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