Riprovare ma con un approccio leggermente diverso. Il mio thread precedente era qui Qualcuno può spiegare questo concetto one-to-one, one-to-many, many-to-one, many-to-many rispetto agli ORM? ma onestamente penso mi ha confuso più di quanto mi abbia aiutato, soprattutto quando sembrava che ci fossero opinioni contrastanti anche tra le risposte / i commentatori.
Non sono sicuro che la mia comprensione sia corretta e mi mancava solo il vocabolario per esprimerlo, o se ho un buco serio da qualche parte che deve essere risolto con un contro-esempio esplicito.
Quindi voglio provare di nuovo con un esempio più esplicito o due.
Esempio 1:
Diciamo che ho definito due classi in questo modo:
class A {
private String name;
private List<B> listB;
}
class B {
private String name;
}
Ora in questo esempio non ho detto nulla esplicitamente (in termini di annotazioni) sul fatto che le relazioni siano una ad una, una a molte in entrambe le direzioni, o molte a molte. Vado esclusivamente dalle cardinalità dei contenitori.
A mio parere, questa è una relazione uno a molti da A a B e l'ORM lo mapperebbe in questo modo:
Esempio2:
Diciamochehodefinitodueclassiinquestomodo:
classA{privateStringname;privateList<B>listB;}classB{privateStringname;privateAreferenceA;}
Suppongochequestofiniscaconlostessomappingditabelladell'Esempio1.
Esempio3:
Diciamochehodefinitodueclassiinquestomodo:
classA{privateStringname;privateList<B>listB;}classB{privateStringname;privateList<A>listA;}
Presumochequestasiaunarelazionemolti-a-moltieunORMlomapperebbeinquestomodo:
La mia domanda è se la mia comprensione sia corretta o meno e se questo tipo di approccio abbia o meno delle ambiguità (e quale esempio potrebbe sembrare).