Le 14/05/2014 17:22, Eric Chatellier a écrit :
Mais est-ce généralisable à toutes les compositions ?
À la base, j'aurai été plutôt contre la demande d'Éric, mais je suis tombé sur un autre exemple (dans Lima). Soit le modèle en PJ, voici ce qui est généré comme mapping : <bag name="financialPeriod" lazy="true" cascade="all,delete-orphan" node="financialPeriod"> <key column="fiscalPeriod"/> <one-to-many class="org.chorem.lima.entity.FinancialPeriodImpl" node="topiaId"/> </bag> Il y a bien le cascade="all,...". Et ça se vérifie dans le code appelant (sauf mauvaise interprétation de ma part) : // instanciation de la liste (pas de persistence) List<FinancialPeriod> financialPeriods = accountingRules.createFiscalPeriodRules(fiscalPeriod); // liste contenant 3 éléments // ajout des 3 objets à la liste de l'objet de base : fiscalPeriod.addAllFinancialPeriod(financialPeriods); result = fiscalPeriodTopiaDao.create(fiscalPeriod); // Ici, les 4 objets ont été créés en base Donc en gros, si je comprends bien : A -1-composite----------N-> B : cascade all,delete-orphan A -1-composite----------1-> B : cascade delete Il faut pousser un peu plus la réfléxion, mais (dans l'immédiat) je trouve que ce n'est pas cohérent et donc je suis d'accord avec la demande d'Éric. Arnaud