probleme de mapping - Java - Programmation
Marsh Posté le 24-11-2005 à 14:44:38
google "hibernate" -> premier lien
documentation
Hibernate 3.x > english > online HTML
2.3. Part 2 - Mapping assosciations
comment tu fais pour passer 3 jours là dessus ?
Marsh Posté le 25-11-2005 à 10:51:45
benou a écrit : comment tu fais pour passer 3 jours là dessus ? |
ben, quand tu vois qu'il attend la derniere ligne de son paté pour dire qu'il utilise hibernate, tu t'étonnes de rien
Marsh Posté le 25-11-2005 à 11:38:35
benou a écrit : google "hibernate" -> premier lien |
je connais absolument pas hibernate, et je me lance dans le mapping direct sans utiliser hibernate synchronizer.
Aprés j'utilise hibernate 2 et dans la doc d'hibernate 2 il n'y pas cette exemple que tu m'a donné qui est dans la doc d'hibernate 3.
En tout cas merci, car bien que cela à l'air facile pour quelqu'un qui connait hibernate, ca l'est moins pour quelqu'un qui utilise pour la première un framework tel qu'hibernate.
Marsh Posté le 25-11-2005 à 11:42:55
the real moins moins a écrit : ben, quand tu vois qu'il attend la derniere ligne de son paté pour dire qu'il utilise hibernate, tu t'étonnes de rien |
quant à toi, je galère depuis 3 jours car j'ai poster le message sous différente manière avec du code de mapping, avec le schéma merise et ceux sur plusieurs forums et plusieurs fois sur le meme avec un titre différent et personne n'a répondu.
Maintenant quand je vois ton post, je comprends pourkoi. Il est trés constructif et réponds exactement a mon probleme
Merci pour ton aide
Marsh Posté le 25-11-2005 à 11:44:34
ben au lieu de foncer dans le tas sans connaitre ton sujet, puis pleurer sur les forums en attendant une réponse, lis un minimum de doc pour comprendre ce que tu fais
et stu veux des réponses à des questions, le minimum c'est de savoir les poser, i.e. commencer par dire de quoi on parle
salut, de rien
Marsh Posté le 25-11-2005 à 12:02:35
the real moins moins a écrit : ben au lieu de foncer dans le tas sans connaitre ton sujet, puis pleurer sur les forums en attendant une réponse, lis un minimum de doc pour comprendre ce que tu fais |
c bizarre mais benou a répondu à mes questions en un post et toi toujours en 2 post, essaye encore.
pour répondre plus constructivement, j'ai lu la doc d'hibernate 2 (car j'uyilise hibernate 2), et comme je l'ai dit plus haut (tu parlais pas de lire avant de foncer dans le tas ????) il n'y a pas cet exemple dans la doc hibernate 2.
quant à savoir poser les questions, il faut aussi savoir les comprendre (question de point de vue).
MAIS il est vrai que j'ai foncé dans le tas, MAIS je pensais que les forums tel que celui-là était rempli de gens qui s'entraidaient, me trompais-je ???
Marsh Posté le 25-11-2005 à 12:12:22
ejaub a écrit : MAIS il est vrai que j'ai foncé dans le tas, MAIS je pensais que les forums tel que celui-là était rempli de gens qui s'entraidaient, me trompais-je ??? |
Oui, tu te trompes : on n'aide que les gens qui formulent correctement leur question, qui on réduit la portée du problème à sa plus simple expression (principe de base en info) et qui ont lu la documentation.
Ce qui constitue entre 1 et 30% des personnes qui posent une question, suivant les catégories.
Marsh Posté le 25-11-2005 à 13:19:35
sircam a écrit : Oui, tu te trompes : on n'aide que les gens qui formulent correctement leur question, qui on réduit la portée du problème à sa plus simple expression (principe de base en info) et qui ont lu la documentation. |
je pensais avoir été clair, et me suis permis de reprendre quelqu'un qui n'avait absolument rien a dire sur le sujet à part de critiquer négativement. En tout cas je remercie Benou pour son civisme et me demande si vous etes encore beaucoup sur ce forum à se permettre de critiquer sans aucun rapport au sujet.
Veuillez bien m'excusez d'avoir été effronté mais ce post
Citation : |
n'avais pas lieu d'être et toi tu arrives dans la conversation et au final ton post n'a absolument rien à voir avec le sujet non plus
enfin c'est dommage que vous donnez une si mauvaise image des gens qui utilisent ce forum.
pour répondre à ça :
Citation : |
ces statistiques sont bien correct, je post une question, résultat:
1 personne réponds à la question, 2 qui arrivent avec leur savoir absolu et ne répondent pas à la question.
Cela fait bien 30% des gens qui répondent constructivement. Ce qui m'amène à souligner que votre savoir est tout à fait relatif (aprés tout vous n'avez pas répondu à mon problème !!!!!!!!!)
conclusion de cette petite conversation sans saveur, il y a d'autres forums.
Désolé pour ceux qui restent corrects avec les newbies.
ps : J'AI LU LA DOC D'HIBERNATE MAIS LA DOC 2 ET PAS LA 3, ET DANS LA DOC 2 YA PAS D'EXEMPLE PRECIS ET CERTAINEMENT PAS CELUI DE LA DOC 3.
ALORS AVANT DE MONTER SUR SES GRANDS CHEVAUX, LISEZ LES POSTS DES GENS QUE VOUS VOUS PERMETTEZ DE CRITIQUER, ET DONC ARRETEZ DE ME BALANCER DES ARGUMENTS QUE VOUS NE RESPECTEZ MEME PAS
Marsh Posté le 25-11-2005 à 13:26:47
Citation : enfin c'est dommage que vous donnez une si mauvaise image des gens qui utilisent ce forum. |
L'image que les habitués de cette section veulent donner : "boulets et bricoleurs qui n'y connaissez rien, passez votre chemin. Feignasses, idem. Ceux pas capables de s'exprimer, idem. Les autres sont les bienvenus".
Citation : 1 personne répond à la question, 2 qui arrivent avec leur savoir absolu et ne répondent pas à la question. |
Tout cela dépend de la question. Si elle est formulée correctement et que l'auteur a fait un minimum de recherches (efficaces), le résultat sera différent.
Tu parles de l'image des gens qui utilisent ce forum, tout en étant sarcastique au sujet de "savoir absolu" : c'est pour le moins paradoxal.
Citation : conclusion de cette petite conversation sans saveur, il y a d'autres forums. |
Pour le surplus, inutile d'écrire en rouge + bold + caps lock. Je te reporte à ta propre remarque : il y a d'autres forums.
Marsh Posté le 25-11-2005 à 13:37:28
ejaub a écrit : j |
et ca c'est quoi http://www.hibernate.org/hib_docs/ [...] derproduct ?
ceci dit t'es pas obligé de mapper ta table d'association , mais bon tapes toi la doc encore une fois, c'est mieux que de chercher des exemples à tout prix
Marsh Posté le 25-11-2005 à 14:07:59
sebi a écrit : et ca c'est quoi http://www.hibernate.org/hib_docs/ [...] derproduct ? |
l'histoire c'est qu'en plus de la table d'association j'ai un héritage à mapper, donc je mappe l'héritage et ensuite je mappe normalement ma table d'association.
tu dis
Citation : ceci dit t'es pas obligé de mapper ta table d'association |
mais comment hibernate fais pour mettre à jour ma table d'association dans ma base de données?
J'ai entièrement mapper mes tables et mes beans en lisant la doc, mais quand je lance des tests il me sort des erreurs dans ma table de mapping de la classe oeuvre. J'utilise des balises mais je ne suis meme pas sur si je peux faire comme ça.
Enfin, bref je pensais m'acheter un bouquin, qu'est ce que vous pensais de :
HIBERNATE (traduction de Hibernate in action)
de Christian Bauer, Gavin King
Langue : Français Éditeur : CampusPress (17 mai 2005)
Collection : Référence
Format : Broché - 432 pages
ISBN : 2744019399
Dimensions (en cm) : 19 x 23 x 23
mais j'hésite avec celui publié par Eyrolles:
Hibernate 3.0 : Gestion optimale de la persistance dans les applications Java/J2EE
de Anthony Patricio, Olivier Salvatori
Langue : Français Éditeur : Eyrolles (16 juin 2005)
Format : Broché - 317 pages
ISBN : 2212116446
Dimensions (en cm) : 19 x 2 x 23
voila si quelqu'un a l'un des 2 et qu'il puisse en parler, je le remercie d'avance
ps : la phrase entière était
YA PAS D'EXEMPLE PRECIS
en tout cas c'est ce que je pense, la doc est très bien faite, mais je passe à coté de plein de notions car pas assez illustré (avec des cas un peu plus complexe)
Marsh Posté le 25-11-2005 à 14:20:10
http://www.amazon.com/gp/product/0 [...] 8&v=glance
celui la est pas mal, et tout le long c'est basé sur l'exemple artiste/album/chanson , donc assez proche de ce que tu cherches
Marsh Posté le 25-11-2005 à 14:30:23
sebi a écrit : http://www.amazon.com/gp/product/0 [...] 8&v=glance |
merci, il m'a l'air parfait. En plus il est 3 fois moins cher que les 2 autres.
merci encore.
tu disais que j'étais pas obligé de mapper ma table d'association mais comment je pourrais aller mettre à jour cette table ? Hibernate s'en occupe avec un certain mapping ?
ps : j'ai commencé à lire la doc d'hibernate 3 et je devrais m'en tirais (enfin j'espère ), en faisant le rapprochement entre les 2 docs.
Marsh Posté le 25-11-2005 à 17:37:19
ejaub a écrit : En tout cas merci, car bien que cela à l'air facile pour quelqu'un qui connait hibernate, ca l'est moins pour quelqu'un qui utilise pour la première un framework tel qu'hibernate. |
bha j'ai jamais utilisé hibernate moi
plusieurs remarques :
- pkoi t'utilises pas hibernate 3 ?
- ton post original manquait pas mal de précision ... c'est utile d'indiquer les outils que tu utilises, que tu as déjà cherché, les url sur lesquels tu t'es appuyées, ainsi que les points de blocage que tu rencontres encore. Là en gros c'était "je dois faire un mapping n-n et je sais pas faire. Dites moi comment ça marche."
- on le dit jamais assez : google est ton ami. La recherche que j'ai faite, tu pouvais la faire aussi bien que moi
- pour les autres, même si dans le fond vous avez pas tord, ça sert à rien de sauter à la gorge du mec comme ça. Le seul truc que vous arrivez à le faire c'est le braquer ... Expliquez calmement, donnez lui un début de piste en l'invitant à continuer par lui même, faites lui comprendre qu'il aurait pu s'en tirer plus rapidement en cherchant lui même ou en expliquant mieux son problème et puis voilà...
Marsh Posté le 25-11-2005 à 20:20:18
benou a écrit : |
car j'ai commencé avec ce tuto
http://defaut.developpez.com/tutor [...] hibernate/
si t'utilise hibernate synchonizer, tu dois utiliser la version 2. Et comme je faisais des test en comparant mon mapping à celui générais par le synchroniser j'ai pas changé.
benou a écrit : |
en fait mon probleme est plus gros que ca mais je pensais que si on m'expliquait déjà comment mapper le schéma que j'ai montré je pourrais m'en tirer. Je voulais pas balancer des lignes de code à tout va donc j'ai reduit le probleme au plus simple. Juste pour voir que mon mapping était bon.
benou a écrit : |
oui mais quel foutoire autant te dire que je l'ai fait cette recherche. Je ne me serais pas permis de demander de l'aide si j'avais pas essayer moi-même. Mais avec les réponses et liens que j'ai eu, en recoupant tout ça ca devrait aller (c surtout dans la doc d'hibernate 3 que j'ai trouvé mon bonheur, ya un exemple parfait).
Deux têtes valent mieux qu'une dit-on.
benou a écrit : |
je passe
En tout cas, merci les gars.
Marsh Posté le 25-11-2005 à 20:35:38
benou a écrit : - pour les autres, même si dans le fond vous avez pas tord, ça sert à rien de sauter à la gorge du mec comme ça. Le seul truc que vous arrivez à le faire c'est le braquer ... Expliquez calmement, donnez lui un début de piste en l'invitant à continuer par lui même, faites lui comprendre qu'il aurait pu s'en tirer plus rapidement en cherchant lui même ou en expliquant mieux son problème et puis voilà... |
Ca, c'est ton boulot, c0wb0y. On voudrait pas empiéter sur tes prérogatives.
Nous, les habitués-qui-font-de-leur-grande-gueule-et-qui-savent-mieux-que-tout-le-monde, notre L.A.R.T., c'est la pelle à clous.
Et en ce qui me concerne, je ne l'utilise qu'avec parcimonie et ne l'applique qu'avec respect du boulet.
Marsh Posté le 25-11-2005 à 21:02:50
ejaub :
J'étais un peu dans le meme cas que toi y a une semaine, j'ai comme toi commencé avec le tutoriel en francais pour Hibernate 2 et il y a vraiment pas mal d'exemples qui peuvent te mettre sur la bonne piste.
Quel strategie de mapping te veux appliquer pour ton heritage ?
T'as testé le Hibernate 3.0 Visual mapping editor ?
Clé primaire composite c pas bien !!!
Marsh Posté le 25-11-2005 à 21:26:38
Bref, moi je vois les choses comme ça :
- Je te laisse les joies du mapping de l'heritage ... mais je te conseil la strategie (1 table pas hierarchie d'heritage)
- Dans la classe Film t'as un attribut Set<Acteur> acteurs = new HashSet<Acteur>(); // par exemple
Code :
|
Ceci à titre d'exemple bien entendu.
Marsh Posté le 25-11-2005 à 21:29:20
sircam a écrit : Ca, c'est ton boulot, c0wb0y. On voudrait pas empiéter sur tes prérogatives. |
mes prérogatives c'est de mettre des coups de pelle à clous à TOUT CEUX qui le mérite, pied tendre.
Marsh Posté le 25-11-2005 à 21:38:28
benou a écrit : mes prérogatives c'est de mettre des coups de pelle à clous à TOUT CEUX qui le mérite, pied tendre. |
Marsh Posté le 26-11-2005 à 01:54:25
Pour les associations bi-directionelles tout est dans le tuto. Tu peux tres bien t'en sortir avec avec ce qu'il y a dans version 2 je pense.
Marsh Posté le 26-11-2005 à 13:47:35
Salut tout le monde, bonne journée à tous
Chronoklazm a écrit : |
Je pensais appliquer la stratégie "une table par classe fille (table per subclass)".
Chronoklazm a écrit : |
Que vois-je il y a un Visual mapping editor , je vais passer à hibernate 3 alors, tu coche les tables à mapper et il génère ??
Sinon, j'ai vu que plusieurs me disent de pas mapper ma table-relation Jouer, mes comment hibernate va-t-il faire pour mettre à jour cette table si je lui dis pas de la mapper ??
Voilà mon mapping final, si vous avez des critiques (constructives cette fois, oups vais recevoir un coup de pelle ), n'hésitez pas.
en fait la relation entre film et acteur est une relation entre la classe Film et Personne, et deux assaciations sont présentes entre ces 2 classes (pour les tables dans le mcd, il y a 2 relations de type 0,n à 0,n : ce qui donnent 2 tables-relations ; une "acteur" et une "réalisateur" )
Code :
|
Merci à tous
Marsh Posté le 26-11-2005 à 16:05:23
nationalité ne prend qu'un n.
Marsh Posté le 26-11-2005 à 20:03:04
ReplyMarsh Posté le 28-11-2005 à 11:37:46
Bonour,
voilà j'ai mappé tout comme il fallait mais eclipse me génére une erreur
il dit :
Citation : GRAVE: Error parsing XML: XML InputStream(35) Lattribut "{0}" nest pas déclaré pour lélément "{1}". |
quelqu'un peut il m'expliquer ce que ca veut dire, svp ?
cette erreur est générée lorsqu'il lit le fichier de mapping dont le code est juste au dessus.
en attendant une réponse, bonne journée
Marsh Posté le 28-11-2005 à 12:22:33
là, ça veut surtout dire que ton eclipse (si c'est bien lui qui te file l'erreur) à été configuré en français et que les traductions ont été faite par un gnu-ien.
essaie en anglais ?
Marsh Posté le 28-11-2005 à 13:42:16
the real moins moins a écrit : là, ça veut surtout dire que ton eclipse (si c'est bien lui qui te file l'erreur) à été configuré en français et que les traductions ont été faite par un gnu-ien. |
aprés avoir désactivé le module de langue, il me met tjrs la meme erreur.
Marsh Posté le 28-11-2005 à 13:47:34
configure ta jdk pour qu'elle soit en anglais par defaut alors... sinon on ne saura jamais quel element est fautif dans ton xml (parce que c'est ça, le probleme)
Marsh Posté le 28-11-2005 à 15:03:42
the real moins moins a écrit : configure ta jdk pour qu'elle soit en anglais par defaut alors... sinon on ne saura jamais quel element est fautif dans ton xml (parce que c'est ça, le probleme) |
désolé j'ai eu beau cherché mais g pas trouvé
j'ai réinstallé eclipse sans le nlpack(l'avoir en francais) mais ca vient pas d'eclipse. Pour la jdk, comment on fait, j'ai bein essayé de voir via la console lorsque la jre est lancé mais j'ai pas trouvé d'option pour changer la langue
en outre, la génération de cette erreur ne viendrai pas d'hibernate ?
Marsh Posté le 28-11-2005 à 15:38:31
je passe à hibernate 3 et je v testé hibernate tool, il y a un visual mapping editor
on verra bien ce que ca donne
Marsh Posté le 29-11-2005 à 09:09:55
ejaub a écrit : je passe à hibernate 3 et je v testé hibernate tool, il y a un visual mapping editor |
Salut, quelqu'un a-t-il installé Hibernate Tools
?
est-ce que je décompresse dans le dossier eclipse, ou dans le dossier plugins d'eclipse?
merci
ps : a force de me planter dans la décompression des fichiers, j'en ai un peu marre (pour pas dire que ca me plus que ch....) de réinstaller éclipse et toutes ses mises à jour. D'ailleurs si quelqu'un sait comment, lorsqu'on réinstalle eclipse, garder les mises à jours et ne pas etre obligé de les refaire à chaque fois, je suis preneur.
c'est bon j'ai réussi, suffi juste de décompresser dans le dossier eclipse (ce qui est pas compliké en effet alors je vous prie messieurs, mesdames épargnez moi )
Marsh Posté le 29-11-2005 à 16:54:20
alors aprés etre passé à hibernate 3 sous eclipse
voilà j'ai toujours la même erreur
Citation : |
je ne comprends ce que veut dire cette erreur, alors si quelqu'un a déjà l'erreur j'ai besoin d'aide
ps : je n'ai pas trouvé comment configurer ma jdk pour avoir l'erreur en anglais
Marsh Posté le 29-11-2005 à 17:00:43
ReplyMarsh Posté le 29-11-2005 à 17:03:58
ReplyMarsh Posté le 29-11-2005 à 17:10:18
ejaub a écrit : alors aprés etre passé à hibernate 3 sous eclipse
|
tant que t'as pas ton jdk en anglais on peut pas te dire ou tu as exactement merdé dans ton mapping, il manque un attribut dans un de tes élements, revois ton mapping ligne par ligne
Marsh Posté le 29-11-2005 à 20:29:32
tu peux pas dire a eclipse d'utiliser la dtd d'hibernate et de te valider ton mapping ?
Marsh Posté le 29-11-2005 à 21:31:11
le problème est que son mapping est valide avec la dtd 2.0 et 3.0 (je l'ai testé avec xmlSpy)
Marsh Posté le 30-11-2005 à 09:35:13
sebi a écrit : tant que t'as pas ton jdk en anglais on peut pas te dire ou tu as exactement merdé dans ton mapping, il manque un attribut dans un de tes élements, revois ton mapping ligne par ligne |
moi je veux bien configurer ma jdk en anglais, mais aucun moyen de trouver comment le faire.
Lorsque je lance une applet, j'ai l'icone dans le systray, je regarde les propriétés mais il n' y a pas d'option pour changer la langue.
Alors si quelqu'un sait le faire, qu'il n'hésite pas.
sinon c'est bizarre mais je ne peux pas utiliser le visual mapping editor d'Hibernate Tools, pourtant je ai bien décompressé l'archive dans le dossier plugins d'eclipse.
Marsh Posté le 24-11-2005 à 14:14:06
en fait, mon probleme vient du fait que je voudrais mapper une relation entre une classe Film (héritant de la classe Oeuvre) avec une classe Acteur. Dans ma BDD (mySQL), le MCD :
Film (1,1) -------------- (0,1)Oeuvre
(1,n)
|
|
|
|
(0,n)
Acteur
Donc d'aprés Merise, la relation entre les tables Film et Personne deviennent une table que j'ai nommé Jouer (la clé primaire est la concaténation des 2 clés primaires des tables liées par la relation Film et Acteur, et 2 clés etrangères liées aux clés primaires des tables Film et Acteur) lors du MLD :
Film--------------Oeuvre
|
|
|
Jouer
|
|
|
Acteur
Comment je dois faire pour pouvoir mapper ces tables ? Je voudrais pouvoir utiliser les classes Film et Acteur, faire des update, des saves et que hibernate s'occupe de mettre à jour la table-relation Jouer.
Voilà, alors si quelqu'un peut m'aider ca serait cool, je galère depuis 3 jours. Yen a marre
Merci