Supposons il y a trois tables:Comment diviser les données d'une table en deux ensembles basés sur une valeur de colonne avec des mappages Hibernage?
Table A (ID, NAME)
Table B (ID, NAME)
Table A-B (A_ID, B_ID, Boolean_Property)
et le tableau A et B sont modélisés par les classes A et B comme suit:
public class A {
private long id;
private String name;
// All the B's that belong to A where the boolean property is True
Set<B> trueBSet;
// All the B's that belong to A where the boolean property is False
Set<B> falseBSet;
}
public class B {
private long id;
private String name;
}
Comment pourrais-je modéliser cela en utilisant Hibernate? Je voudrais être en mesure de faire ce qui suit, mais il semble que les valeurs de la colonne discriminante n'existent pas pour les attributs définis:
<class name="A" table="A">
<id name="id" column="ID">
<generator class="native" />
</id>
<property name="name" column="NAME" />
<set name="trueB" table="A-B">
<key column="A_ID"/>
<many-to-many column="B_ID" class="B"/>
<discriminator column="Boolean_Property" value="True" />
</set>
<set name="falseB" table="A-B">
<key column="A_ID"/>
<many-to-many column="B_ID" class="B"/>
<discriminator column="Boolean_Property" value="False" />
</set>
</class>
À peu près une copie exacte: http://stackoverflow.com/questions/1761901/multiple-manytomany-sets-from-one-join-table – ChssPly76