[ALG3ir] TD5: Faire une jointure en HQL

Voir le sujet précédent Voir le sujet suivant Aller en bas

[ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 19:32

Bonsoir

Je n'arrive pas à faire de jointure sur une table en HQL (par exemple sur wordId/wlWordId), et l'entièreté de ma classe est dans la même situation. Bref, je voudrais bien savoir comment il est possible de le faire. Bien que , on explique apparemment la chose, je ne comprends absolument pas la syntaxe ni le sens de les requêtes d'exemple (sur quel champ on fait le join ? xD)

Bref, j'ai (nous avons, plutôt ^^) besoin d'aide scratch

Merci Smile

Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Trusty le Mer 02 Déc 2009, 20:07

Jiraiya-08 a écrit:Bonsoir,
...sur quel champ on fait le join ? xD...

Merci Smile

fora le nouveaux repère des junkies !!!!

pffff

Trusty

Nombre de messages : 866
Age : 29
Prénom : Bastien
Statut : old 2010
Localisation : Ath
Date d'inscription : 30/10/2006

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 20:13

Woké la feinte, bien trouvée ^^

Et sinon, une idée pour le problème d'origine ? :-p

Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  mcd le Mer 02 Déc 2009, 21:42

Je ne connais pas HQL, le langage de requête de Hibernate mais je connais JPQL, le langage de requête de JPA qui est un produit similaire.

Il faut bien se rappeler que la requête ne s'exprime pas sur les tables mais sur les classes correspondantes.
Le join est nécessaire pour traverser une collection.
Ex:
- Dans la BD une table Client et une table Commande sont reliées par une relation 1..n (1 Client associé à N Commande)
- Dans les classes, la classe Client contiendra un attribut (disons commandes) qui sera une collection de Commande (les commandes du client)
- Si on veut faire une requête qui traverse la collection, il faudra un join.
- Par ex: si on veut toutes les commandes d'un client, on devra faire un join entre "Client AS client" et "client.commandes AS commande"

Je ne peux pas être plus précis sur la syntaxe car en JPQL elle est différente même si les principes de base semblent être les mêmes.
La requête permet de se promener à travers les classes à la recherche des infos voulues (dans la partie Select, les parties Where et autres...) Quand on traverse une collection -> join

PS: Dans mon exemple simpliste, on peut faire la même chose sans join en commençant par la table "Partie"

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 21:57

mcd a écrit:Je ne connais pas HQL, le langage de requête de Hibernate mais je connais JPQL, le langage de requête de JPA qui est un produit similaire.

Il faut bien se rappeler que la requête ne s'exprime pas sur les tables mais sur les classes correspondantes.
Le join est nécessaire pour traverser une collection.
Ex:
- Dans la BD une table Client et une table Commande sont reliées par une relation 1..n (1 Client associé à N Commande)
- Dans les classes, la classe Client contiendra un attribut (disons commandes) qui sera une collection de Commande (les commandes du client)
- Si on veut faire une requête qui traverse la collection, il faudra un join.
- Par ex: si on veut toutes les commandes d'un client, on devra faire un join entre "Client AS client" et "client.commandes AS commande"

Je ne peux pas être plus précis sur la syntaxe car en JPQL elle est différente même si les principes de base semblent être les mêmes.
La requête permet de se promener à travers les classes à la recherche des infos voulues (dans la partie Select, les parties Where et autres...) Quand on traverse une collection -> join

PS: Dans mon exemple simpliste, on peut faire la même chose sans join en commençant par la table "Partie"


Je ne comprends pas très bien, notamment le 4ième point. Même si c'est du JPQL, pourriez vous si possible présenter cette commande de jointure ? Parce que je ne comprends pas du tout la logique du truc. le AS, c'est bien pour donner un alias non ? Et que retourne "client.commandes as commandes" ?

Bref, je suis totalement perdu, mais vraiment ^^

Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  nvs le Mer 02 Déc 2009, 22:02

mcd a écrit:Je ne connais pas HQL, le langage de requête de Hibernate mais je connais JPQL, le langage de requête de JPA qui est un produit similaire.
[hs]
moi je connais assez bien PQL, avec L pour Large Wink







désolé... mais c'était trop tentant.
[/hs]



bonne chance, Jiraiya-08, dans ta recherche Smile





_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 22:06

@M. NVS: Thx

@M. MCD: Voilà un schéma simplifié de ma BD:



Et je voudrais donc avoir tout les word d'un certain wlLangId (= langId)

Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  mcd le Mer 02 Déc 2009, 22:11

J'y arrive toujours mieux avec un diagramme de classes devant moi.
Mais comme c'est pas facile en mode texte ... Smile
Supposons mon exemple de Client et de Commandes.
Les classes qu'on va écrire pour matcher les tables ressembleront à
Code:
class Client {
...
private String nom;
private List<Commande> commandes;
...
}
et
Code:
class Commande {
...
private Double total;
}
Et disons que je veux les commandes d'un client qui dépassent un certain montant.
L'ordre sera de type
Code:
SELECT ... FROM ... WHERE ...
Dans la partie "SELECT" je vais devoir spécifier que je veux des commandes.
Dans la partie "WHERE" je vais devoir parler du nom du client.
Je dois donc faire référence à ces 2 tables.
Admettons que je parte de la table Client.
On commencerait à écrire
Code:
SELECT ... FROM Client AS cli WHERE cli.nom = "..."
Maintenant les commandes.
Pour obtenir les commandes à partir de client, je dois utiliser l'attribut "commandes" qui est une collection -> join
Code:
SELECT com FROM Client AS cli JOIN cli.commandes AS com WHERE cli.nom = "..." AND com.total > ...

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  mcd le Mer 02 Déc 2009, 22:15

Je viens de voir ton schéma.
Attention toutefois, la requête se fait sur les classes et pas sur la table.
Tu dois donc connaître les noms de tes classes et de tes attributs pour l'écrire.

Choisis une classe de départ et suis les liens nécessaires pour exprimer ce que tu veux dans la partie SELECT et la partie WHERE.
N'importe laquelle des 3 tables est un point de départ acceptable mais tu peux même t'en sortir sans JOIN si tu prend la bonne table de départ (sujet à caution; ça dépend des attributs des classes que je ne vois pas ici car c'est çà qui détermine si tes relations sont bi-drectionnelles ou pas)

edit: dans la BD, toutes les relations sont bi-drectionnelles mais pas forçement dans les classes associées.
- Pour remonter de Commande à Client, il faut que Commande possède un attribut de type Client.
- Pour passer de Client à Commande, il faut que Client possède un attribut de type List<Commande>

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 22:24

Voilà la BD complète:



Je précise aussi que les classes que j'ai en Java n'ont aucun autre attribut autre que ceux présent dans la BD (donc, pas de collection comme votre collection de commandes dans client).

En ajoutant un attribut "Collection<Wordlang> wordlangs" dans Word, je suppose que ca ne marchera toujours pas n'est-ce pas, vu que j'aurais pas mis à jour les fichiers XML de mappage (qu'utilise Hibernate) ?

Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  mcd le Mer 02 Déc 2009, 22:34

Mais dans WordLang tu as quand même bien un attribut de type Word ?!
Es-tu sûr de la façon d'écrire les classes ? L'idée de JPQL (et de Hibernate aussi, en tout cas je le pensais) est d'avoir une vue OO des tables -> plus de clé externe mais directement les objets correspondants !

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 22:42

Voici ce que m'a généré l'outil de configuration automatique:

Word.java
Code:
[...]
public class Word  implements java.io.Serializable {
    private int wordId;
    private String wordTxt;
    private String wordAnagram;
    [...]
}

Wordlang.java
Code:
[...]
public class Wordlang  implements java.io.Serializable {
    private WordlangId id;
    private int wlNbPlay;
    private int wlNbWin;
    private int wlNbLoss;
    private int wlNbStop;
    [...]
}

Language.java
Code:
[...]
public class Language  implements java.io.Serializable {
    private int langId;
    private String langTxt;
    [...]
}

WordlangId.java
Code:
[...]
public class WordlangId  implements java.io.Serializable {
    private int wlWordId;
    private int wlLangId;
    [...]
}



Ainsi qu'un fichier XML de mappage pour chacun des 3 premières classes (donc, pas pour WordlangId.java)

Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Wark le Mer 02 Déc 2009, 22:50

Personnellement, avec le mappage Pojo etc.. blabla, j'ai ça pour le WordLang :

Code:
/**
 * Wordlang generated by hbm2java
 */
public class Wordlang  implements java.io.Serializable {


    private WordlangId id;
    private Language language;
    private Word word;
    private int wlNbPlay;
    private int wlNbWin;
    private int wlNbLoss;
    private int wlNbStop;

    public Wordlang() {
    }

    public Wordlang(WordlangId id, Language language, Word word, int wlNbPlay, int wlNbWin, int wlNbLoss, int wlNbStop) {
      this.id = id;
      this.language = language;
      this.word = word;
      this.wlNbPlay = wlNbPlay;
      this.wlNbWin = wlNbWin;
      this.wlNbLoss = wlNbLoss;
      this.wlNbStop = wlNbStop;
    }
}

J'ai donc bien un Word, aucune trace de clé étrangère... quel est le souci donc ?

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 22:53

Je n'ai pas comme toi d'attributs Language et Word dans Wordlang. Le problème vient donc de là je crois.

Comment as tu généré ou modifié tes fichiers pour avoir cela s'il te plait ? Merci Smile





Dernière édition par Jiraiya-08 le Mer 02 Déc 2009, 23:37, édité 2 fois

Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Wark le Mer 02 Déc 2009, 22:56

1 - Hibernate Configuration Wizard...
1.1 - Rajouter hibernate.show_sql true dans Optional Properties, Configuration Properties
2 - HibernateUtil.java
3 - Hibernate Reverse Engineering
3.1 - Sélectionner toutes les tables.
4 - Hibernate Mapping Files and POJO from Database..

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 23:01

C'est donc bien ce que j'ai fait, c'est à dire en suivant le tutoriel de Netbeans. J'ai aussi évidemment recréé un nouveau projet pour tester, mais rien.... Neutral







Dernière édition par Jiraiya-08 le Mer 02 Déc 2009, 23:36, édité 3 fois

Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Wark le Mer 02 Déc 2009, 23:16

Supprime ta DB et refais la avec le DDL. Qui sait..

DDL :

Code:
CREATE TABLE Word(
  wordId int primary key,
  wordTxt varchar(20) not null,
  wordAnagram varchar(20) not null
 );

CREATE TABLE Language(
  langId int primary key,
  langTxt varchar(20) not null
);

CREATE TABLE WordLang(
  wlWordId int,
  wlLangId int,
  wlNbPlay int not null default 0,
  wlNbWin int not null default 0,
  wlNbLoss int not null default 0,
  wlNbStop int not null default 0,
  PRIMARY KEY (wlWordId, wlLangId),
  FOREIGN KEY (wlWordId) REFERENCES Word(wordId),
  FOREIGN KEY (wlLangId) REFERENCES Language(langId), 
  CONSTRAINT CINBPROP CHECK (wlNbPlay=wlNbWin+wlNbLoss+wlNbStop) 
);

Insert into Word( wordId, wordTxt, wordAnagram)  values(1,'politique','eiilopqtu');
Insert into Word( wordId, wordTxt, wordAnagram)  values(2,'enseignement','eeeegimnnnst');
Insert into Word( wordId, wordTxt, wordAnagram)  values(3,'anagramme','aaaegmmnr');
Insert into Word( wordId, wordTxt, wordAnagram)  values(4,'parapluie','aaeilppru');
Insert into Word( wordId, wordTxt, wordAnagram)  values(5,'cascade','aaccdes');
Insert into Word( wordId, wordTxt, wordAnagram)  values(6,'esoterisme','eeeimorsst');
Insert into Word( wordId, wordTxt, wordAnagram)  values(7,'anticyclone','acceilnnoty');
Insert into Word( wordId, wordTxt, wordAnagram)  values(8,'avalanche','aaacehlnv');
Insert into Word( wordId, wordTxt, wordAnagram)  values(9,'original','agilnoir');
Insert into Word( wordId, wordTxt, wordAnagram)  values(10,'ciseaux','aceisux');
Insert into Word( wordId, wordTxt, wordAnagram)  values(11,'raccourci','accciorru');
Insert into Word( wordId, wordTxt, wordAnagram)  values(12,'goeland','adeglno');
Insert into Word( wordId, wordTxt, wordAnagram)  values(13,'arythmie','aehimrty');
Insert into Word( wordId, wordTxt, wordAnagram)  values(14,'deambuler','abdeelmru');
Insert into Word( wordId, wordTxt, wordAnagram)  values(15,'proletaire','aeeiloprrt');
Insert into Word( wordId, wordTxt, wordAnagram)  values(16,'therapie','aeehiprt');
Insert into Word( wordId, wordTxt, wordAnagram)  values(17,'psychanalyse','aacehlnpssyy');
Insert into Word( wordId, wordTxt, wordAnagram)  values(18,'animosite','aeiimnost');
Insert into Word( wordId, wordTxt, wordAnagram)  values(19,'cataclysme','aaccelmsty');
Insert into Word( wordId, wordTxt, wordAnagram)  values(20,'potiron','inooprt');
Insert into Word( wordId, wordTxt, wordAnagram)  values(21,'botanique','abeinoqtu');
Insert into Word( wordId, wordTxt, wordAnagram)  values(22,'ambidextre','abdeeimrtx');
Insert into Word( wordId, wordTxt, wordAnagram)  values(23,'hurlement','eehlmnrtu');
Insert into Word( wordId, wordTxt, wordAnagram)  values(24,'monotone','emnnooot');
Insert into Word( wordId, wordTxt, wordAnagram)  values(25,'rififi','ffiiir');
Insert into Word( wordId, wordTxt, wordAnagram)  values(26,'bacon','confab');
Insert into Word( wordId, wordTxt, wordAnagram)  values(27,'badge','gadeb');
Insert into Word( wordId, wordTxt, wordAnagram)  values(28,'barman','mnaarb') ;
Insert into Word( wordId, wordTxt, wordAnagram)  values(29,'bungalow','wouglanb') ;
Insert into Word( wordId, wordTxt, wordAnagram)  values(30,'catamaran','manrataca') ;
Insert into Word( wordId, wordTxt, wordAnagram)  values(31,'freezer','zerefre') ;
Insert into Word( wordId, wordTxt, wordAnagram)  values(32,'gentleman','lamenting') ;
Insert into Word( wordId, wordTxt, wordAnagram)  values(33,'handicap','cahipand');
Insert into Word( wordId, wordTxt, wordAnagram)  values(34,'interview','wentirive');
Insert into Word( wordId, wordTxt, wordAnagram)  values(35,'magazine','zaganeim');
Insert into Word( wordId, wordTxt, wordAnagram)  values(36,'parking','girpnak');
Insert into Word( wordId, wordTxt, wordAnagram)  values(37,'planning','pignnnal');
Insert into Word( wordId, wordTxt, wordAnagram)  values(38,'reporter','rpoerret');
Insert into Word( wordId, wordTxt, wordAnagram)  values(39,'suspense','sepunsse');
Insert into Word( wordId, wordTxt, wordAnagram)  values(40,'anagram','namagra');
Insert into Word( wordId, wordTxt, wordAnagram)  values(41,'english','hiselgn');
Insert into Word( wordId, wordTxt, wordAnagram)  values(42,'author','ratohu');
Insert into Word( wordId, wordTxt, wordAnagram)  values(43,'everyone','veyronee');
Insert into Word( wordId, wordTxt, wordAnagram)  values(44,'saturday','raudytas');
Insert into Word( wordId, wordTxt, wordAnagram)  values(45,'anonymous','musynonoa') ;
Insert into Word( wordId, wordTxt, wordAnagram)  values(46,'database','sabadeta');
Insert into Word( wordId, wordTxt, wordAnagram)  values(47,'anything','gaynnith');
Insert into Word( wordId, wordTxt, wordAnagram)  values(48,'favorite','feratovi');
Insert into Word( wordId, wordTxt, wordAnagram)  values(49,'random','dronam');
Insert into Language(langId, langTxt) values(1,'Français');
Insert into Language(langId, langTxt) values(2,'English');
Insert into WordLang(wlWordId, wlLangId) values(1,1);
Insert into WordLang(wlWordId, wlLangId) values(2,1);
Insert into WordLang(wlWordId, wlLangId) values(3,1);
Insert into WordLang(wlWordId, wlLangId) values(4,1);
Insert into WordLang(wlWordId, wlLangId) values(5,1);
Insert into WordLang(wlWordId, wlLangId) values(5,2);
Insert into WordLang(wlWordId, wlLangId) values(6,1);
Insert into WordLang(wlWordId, wlLangId) values(7,1);
Insert into WordLang(wlWordId, wlLangId) values(8,1);
Insert into WordLang(wlWordId, wlLangId) values(9,1);
Insert into WordLang(wlWordId, wlLangId) values(8,2);
Insert into WordLang(wlWordId, wlLangId) values(9,2);
Insert into WordLang(wlWordId, wlLangId) values(10,1);
Insert into WordLang(wlWordId, wlLangId) values(11,1);
Insert into WordLang(wlWordId, wlLangId) values(12,1);
Insert into WordLang(wlWordId, wlLangId) values(13,1);
Insert into WordLang(wlWordId, wlLangId) values(14,1);
Insert into WordLang(wlWordId, wlLangId) values(15,1);
Insert into WordLang(wlWordId, wlLangId) values(16,1);
Insert into WordLang(wlWordId, wlLangId) values(17,1);
Insert into WordLang(wlWordId, wlLangId) values(18,1);
Insert into WordLang(wlWordId, wlLangId) values(19,1);
Insert into WordLang(wlWordId, wlLangId) values(26,1);
Insert into WordLang(wlWordId, wlLangId) values(27,1);
Insert into WordLang(wlWordId, wlLangId) values(28,1);
Insert into WordLang(wlWordId, wlLangId) values(29,1);
Insert into WordLang(wlWordId, wlLangId) values(30,1);
Insert into WordLang(wlWordId, wlLangId) values(31,1);
Insert into WordLang(wlWordId, wlLangId) values(32,1);
Insert into WordLang(wlWordId, wlLangId) values(33,1);
Insert into WordLang(wlWordId, wlLangId) values(34,1);
Insert into WordLang(wlWordId, wlLangId) values(35,1);
Insert into WordLang(wlWordId, wlLangId) values(36,1);
Insert into WordLang(wlWordId, wlLangId) values(37,1);
Insert into WordLang(wlWordId, wlLangId) values(38,1);
Insert into WordLang(wlWordId, wlLangId) values(39,1);
Insert into WordLang(wlWordId, wlLangId) values(26,2);
Insert into WordLang(wlWordId, wlLangId) values(27,2);
Insert into WordLang(wlWordId, wlLangId) values(28,2);
Insert into WordLang(wlWordId, wlLangId) values(29,2);
Insert into WordLang(wlWordId, wlLangId) values(30,2);
Insert into WordLang(wlWordId, wlLangId) values(31,2);
Insert into WordLang(wlWordId, wlLangId) values(32,2);
Insert into WordLang(wlWordId, wlLangId) values(33,2);
Insert into WordLang(wlWordId, wlLangId) values(34,2);
Insert into WordLang(wlWordId, wlLangId) values(35,2);
Insert into WordLang(wlWordId, wlLangId) values(36,2);
Insert into WordLang(wlWordId, wlLangId) values(37,2);
Insert into WordLang(wlWordId, wlLangId) values(38,2);
Insert into WordLang(wlWordId, wlLangId) values(39,2);
Insert into WordLang(wlWordId, wlLangId) values(41,2);
Insert into WordLang(wlWordId, wlLangId) values(42,2);
Insert into WordLang(wlWordId, wlLangId) values(43,2);
Insert into WordLang(wlWordId, wlLangId) values(44,2);
Insert into WordLang(wlWordId, wlLangId) values(45,2);
Insert into WordLang(wlWordId, wlLangId) values(46,2);
Insert into WordLang(wlWordId, wlLangId) values(47,2);
Insert into WordLang(wlWordId, wlLangId) values(48,2);
Insert into WordLang(wlWordId, wlLangId) values(49,2);
Insert into WordLang(wlWordId, wlLangId) values(40,2);

Evidemment, refais ton projet dans la foulée.. Very Happy

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 23:20

Wark a écrit:Supprime ta DB et refais la avec le DDL. Qui sait..


Bon, jvais essayer ca, merci pirat


Dernière édition par Jiraiya-08 le Mer 02 Déc 2009, 23:33, édité 1 fois

Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Jiraiya-08 le Mer 02 Déc 2009, 23:32

Bon, je viens de supprimer la BD, supprimer le projet, recréer la BD depuis tes commandes SQL du précédent post, puis recréer le projet comme tu le décris (comme je faisais quoi), et toujours pas ces 2 foutus attributs. Bon ben j'abandonne.... Mad








Jiraiya-08

Nombre de messages : 111
Age : 28
Prénom : Georges
Statut : Ancien - Promo 2010
Localisation : Rapture
Date d'inscription : 13/10/2007

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  pbt le Mer 02 Déc 2009, 23:50

Ce dont tu parles est typiquement ce qui est présenté au point 1.2 (Part II) de ce tutorial.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [ALG3ir] TD5: Faire une jointure en HQL

Message  Contenu sponsorisé Aujourd'hui à 14:50


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum