cs_lookthat
Messages postés1Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention10 juillet 2009
-
10 juil. 2009 à 15:15
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 2011
-
10 juil. 2009 à 15:48
Bonjour à tous,
J'ai un petit soucis avec Hibernate que je n'arrive pas à résoudre. Explication :
J'ai deux classe abstraite A1 et A2 qui hérite toutes deux d'une classe abstraite A.
Ma base de donnée comprend une table A qui contient toutes les données à la fois de la classe A1 et A2 ainsi que celle de la classe mère A.
Pour mapper les classes, j'utilise un attribut dans la table comme discriminant.
J'aimerais pouvoir changer le type d'objet (passer du type A1 à A2 et inversement) sans avoir à copier les valeur de l'ancien objet dans un nouveau avant de le supprimer afin de garder le même ID.
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 10 juil. 2009 à 15:48
Salut,
hum, changer le type d'un objet, je trouve ça étrange conceptuellement. Si tu as vraiment ce besoin, je pense qu'il faut que tu revois ton modèle objet ou alors tes classes A1 et A2 ne sont pas différentes. En tout cas il n'est pas possible de transformer un objet d'un type en un autre sans en recréer un.
Bref, si c'est juste pour garder le même ID, il te suffit de gérer la clé primaire manuellement. Quand tu crées ton nouvel objet, tu recopies la valeur de la clé et tu supprimes l'ancien.
Ou alors tu effectues des modifs en base en sql sans passer par hibernate.