-
Tables sans clé primaire
Bonjour.
Petite question avant de ma lancer: la base Oracle 8i sur laquelle repose notre application métier contient de nombreuses tables sans clé primaire. D'après ce qu'on m'a expliqué, ce sont les index qui font office de clé (je ne suis pas spécialiste Oracle, ça se voit...). Mon souci est de savoir si ça peut être gênant pour faire de la persistance avec Hibernate.
Avec Toplink (sous NetBeans 6), je ne pouvais pas créer de classes d'entité pour les tables sans clés (elles étaient grisées pour ne pas les sélectionner). Pensez-vous que je puisse rencontrer le même pb avec Hibernate ?
Merci.
-
Une petite recherhce sur google ou sur le forum te permettront de voir qu'il ya déja une quantité de discussion ouverte sur ce sujet par exemple :
http://www.developpez.net/forums/sho...d.php?t=164216
http://www.developpez.net/forums/sho...d.php?t=209308
-
Alors d'expérience, je peux te dire que OUI, ça peut poser problème, même si dans l'absolu, on peut le faire en mettant tous les attributs dans un <composite-id> (mais même là, il y a des cas où ça ne fonctionne pas correctement)
Dans ton cas, si j'ai bien compris, c'est peut-être plus simple :
si tu as des indexes avec clé unique, tu peux utiliser ces attributs pour ta clé primaire (soit via un <composite-id> pour une clé sur plusieurs champs, soit via <id> si c'est un champ unique)
Ça fonctionnera très bien...;)
A+
-
Merci les gars. J'avoue ne pas avoir cherché parce que je pensais vraiment être hors-norme (je n'ai jamais rencontré autant de tables sans clé primaire pour une appli aussi énorme).
Je ne vous importune pas plus longtemps et je file fouiller dans la doc pour plus de renseignements. :D