Bonjour à tous,
Débutant, j'essaie de mettre en place une arborescence de catégories et de sous catégores.
Dans une base de donnée de type MySql, je souhaiterais utiliser une seule table 'categorie' avec une relation enfant-parent. Il s'agit d'une table de type InnoDB, car je souhaite utiliser des contraintes.
Je voudrais également utiliser le framework hibernate pour la persistance, je souhaiterais générer les fichiers de mapping automatiquement à partir de la table 'categorie' en question (ide MyEclipse).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE `categorie` ( `id_categorie` int(20) NOT NULL default '0', `libelle` varchar(100) NOT NULL default '', `parent_categorie_id` int(20) default '0', PRIMARY KEY (`id_categorie`), ) TYPE=InnoDB;
Pour gérer la mutiplicité des associations, (many-to-one....), MyEclipse se base sur les contraintes d'intégrités décrites dans la base.
J'aimerais donc indiquer dans ma table, qu'il existe une association entre la catégorie enfant et la catégorie parent.
Seulement, je n'arrive pas à créer une telle contrainte malgré de nombreux essais...
Merci beaucoup si vous pouvez me donner une idée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ALTER TABLE 'categorie' ADD CONSTRAINT `cat_FK` FOREIGN KEY (`parent_categorie_id`) REFERENCES `categorie` (`id_categorie`) ON DELETE CASCADE ON UPDATE CASCADE;
ps: question de base, cela devrait-être possible une telle relation récursive dans une bd?
A bientôt!
![]()
Partager