[Hibernate] Sous-classe et association

Sous-classe et association [Hibernate] - Java - Programmation

Marsh Posté le 23-11-2005 à 14:13:50    

Bonjour,
 
je dois exprimer une association sous Hibernate et je n'y arrive pas.  
Voilà le souci :  
 

  • La classe Lot hérite de Article.
  • Un Lot comprte une référence vers un Article.
  • Article est une classe abstraite.


 
Entre les one-to-one et many-to-one, je me perds un peu.  
A quoi doit ressembler le fichier de mapping ?  
 
Merci d'avance  ;)

Reply

Marsh Posté le 23-11-2005 à 14:13:50   

Reply

Marsh Posté le 23-11-2005 à 14:17:19    

euh, évidemment, ça ne répond pas à ta question, mais ton modèle me semble plutot suspect.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 23-11-2005 à 14:19:44    

the real moins moins a écrit :

euh, évidemment, ça ne répond pas à ta question, mais ton modèle me semble plutot suspect.


 
En fait j'ai pas trop le choix sur le modèle. Il m'est imposé par mon prof ...

Reply

Marsh Posté le 23-11-2005 à 14:21:38    

C'est quoi l'intérêt d'une référence unique vers la classe dont on hérite? A la limite un ensemble de références vers les différents articles faisant partie du lot je comprendrais mais là pas trop


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-11-2005 à 14:22:37    

sebasboukh a écrit :

En fait j'ai pas trop le choix sur le modèle. Il m'est imposé par mon prof ...


ça n'empeche pas de remettre en question ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 23-11-2005 à 14:26:25    

En fait, plusieurs classes vont héritées de Article :  
 - stylo
 - ramette
 
On peut donc créer des lots de stylos et de ramettes. Mais aussi des lots de lots...

Reply

Marsh Posté le 23-11-2005 à 14:28:02    

masklinn a écrit :

C'est quoi l'intérêt d'une référence unique vers la classe dont on hérite? A la limite un ensemble de références vers les différents articles faisant partie du lot je comprendrais mais là pas trop


 
C'est vrai que je n'ai pas été très clair..
 
Un lot comporte une référence vers un article. Mais celui-ci peut-être un stylo, une ramette ...

Reply

Marsh Posté le 23-11-2005 à 14:43:22    

tiens, c'est marrant, y'a un collegue à toi qu'est passé y'a pas longtemps pour des stylos sous hibernate aussi [:nofret]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 23-11-2005 à 14:44:09    

j'ai vu ça oui ...  

Reply

Marsh Posté le 23-11-2005 à 14:52:32    

sebasboukh a écrit :

Bonjour,
 
je dois exprimer une association sous Hibernate et je n'y arrive pas.  
Voilà le souci :  
 

  • La classe Lot hérite de Article.
  • Un Lot comprte une référence vers un Article.
  • Article est une classe abstraite.


 
Entre les one-to-one et many-to-one, je me perds un peu.  
A quoi doit ressembler le fichier de mapping ?  
 
Merci d'avance  ;)


 
Comme ca a premiere vue, ta classe Lot comporte surement une reference vers un Article cad soit son id soit carrement une instance d'Article.  
 
Je ne sais pas comment mapper une association transitive (c'est le cas ou on a une String id_article en attribut de la classe Lot), brave et sage sera celui qui me dira comment faire.  
 
Par contre si dans ta classe ta une instance d'Article c'est tres simple :
 

Code :
  1. <class name="Lot">
  2.   <many-to-one name="article"
  3.                       class="Article"
  4.                       column="ref_article"/>
  5. </class>
  6. <!-- je sais pas si l'attribut cascade dans le tag many-to-one est en true par defaut -->


 
Je pense que une association one-to-one marcherai aussi.
 
Mais je trouve que la variante avec String id_article en attribut de la classe Lot est plus performante car si on doit se tapper 100 Lots d'un meme article c pas top alors qu'avec une simple String on gardera qu'une seule chose .... son id et pas les 100 instances de cet article, apres ceci n'a plus de sens dans le monde relationnel donc ptet que je me chagrine pour rien.


Message édité par Chronoklazm le 23-11-2005 à 14:59:23

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 23-11-2005 à 14:52:32   

Reply

Marsh Posté le 23-11-2005 à 15:06:02    

masklinn a écrit :

C'est quoi l'intérêt d'une référence unique vers la classe dont on hérite? A la limite un ensemble de références vers les différents articles faisant partie du lot je comprendrais mais là pas trop


 
Lot != Cadis
 
D'un point de vue sematique un Lot est bien un Article. Et puis c'est juste une maniere de voir la chose ... assez restrictive je suis d'accord (on ne peut avoir qu'un seul type d'article dans un lot) mais suffisament realiste car generalement les réductions se font en fonction de la quantité d'un seul type d'article acheté.

Message cité 1 fois
Message édité par Chronoklazm le 23-11-2005 à 15:15:35

---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
Reply

Marsh Posté le 23-11-2005 à 16:14:26    

Chronoklazm a écrit :

Lot != Cadis
 
D'un point de vue sematique un Lot est bien un Article. Et puis c'est juste une maniere de voir la chose ... assez restrictive je suis d'accord (on ne peut avoir qu'un seul type d'article dans un lot) mais suffisament realiste car generalement les réductions se font en fonction de la quantité d'un seul type d'article acheté.


Ah non, on peut parfaitement avoir plusieurs articles dans un lot [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 23-11-2005 à 16:58:36    

Le but c'est pas de modifier le sujet... mais juste de suivre les instructions.
 
Je comprends que le modèle ne te plaise pas, mais il ne faut y voir qu'un cas pour illustrer les mécanismes d'Hibernate.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed