J'ai un bon - POJO mappé à deux tables. Le premier mappage attribue un nom d'entité "voucherA" et mappe le POJO à TableA. Le second mappage utilise "voucherB" comme nom d'entité et mappe le POJO à TableB.Comment faire correspondre une association plusieurs-à-plusieurs à une classe mappée à deux tables différentes?
Maintenant, j'ai aussi un client POJO mappé à TableC. Ce POJO référence les bons dans une liste.
<list name="vouchers" table="TableC_vouchers">
<key column="pid"/>
<list-index column="position" base="0"/>
<!-- how to do that right -->
<many-to-many column="voucher_id" entity-name="voucherB"/>
</list>
Comment mapper correctement une liste de plusieurs à plusieurs associations de clients à des bons de sorte que si un POJO client est conservé, les entités Voucher sont conservés à TableB s'ils n'y existent pas, à la place de TableA? Cela peut-il être fait? Si ce n'est pas le cas, à quoi ressemblerait une solution de contournement pour que les bons utilisés par les clients soient conservés dans tableB? (La TableA ne contient que les bons disponibles, et non ceux utilisés)
Juste pour clarifier, êtes-vous coincé en utilisant une table pour chaque type de bon? Serait-il inacceptable de stocker les deux types de bons dans une seule table? – Lyudmil
La deuxième table ne doit contenir que les bons qui ont été utilisés. Dans mon cas également, un bon peut être utilisé plusieurs fois par différents utilisateurs. Dans ma question, la TableA peut être ignorée en tant que «Bons encore disponibles à utiliser» et en tant que «Bons qui ont été utilisés». Il peut également arriver que les bons de la TableA soient supprimés. Je suis coincé comment créer l'association de plusieurs à plusieurs. – Chris
Je vois. Serait-il inacceptable si vous avez stocké un drapeau dans la table pour chaque bon qui serait vrai si le bon est utilisé et faux sinon. Je pense que de cette façon, vous pouvez toujours supprimer ceux qui ne sont pas utilisés à volonté, mais vous pouvez avoir tous les bons dans la même table, ce qui rend trivial plusieurs-à-plusieurs. – Lyudmil