Ho visto persone utilizzare mapping molti-a-uno per rappresentare relazioni uno-a-uno. Ho letto anche questo in un libro di Gavin King e sugli articoli.Hibernate - perché utilizzare molti a uno per rappresentare uno a uno?
Ad esempio, se un cliente può avere esattamente un indirizzo di spedizione, e un indirizzo di spedizione può appartenere a un solo cliente, la mappatura è dato come:
<class name="Customer" table="CUSTOMERS">
...
<many-to-one name="shippingAddress"
class="Address"
column="SHIPPING_ADDRESS_ID"
cascade="save-update"
unique="true"/>
...
</class>
Le ragioni libro come (citando esso):
"non importa ciò che è sul lato di destinazione dell'associazione, in modo da poter trattare come un associazione a-uno, senza tanti parte ."
La mia domanda è, perché utilizzare many-to-one
e non one-to-one
? Che cos'è un one-to-one
che lo rende un'opzione meno desiderabile per many-to-one
?
Grazie.
Puoi fornire un esempio per chiarire il tuo punto sulla mappatura della "relazione di chiave esterna con un vincolo univoco"?Dal momento che tale relazione è logicamente uno-a-uno, perché dovresti mapparla come molti-a-uno in letargo? – KyleM
Questo sembra rispondere _quando_ ma non _perchè _...? –
Lo svantaggio però è che non è possibile usare 'inverse =" true "'. Non funziona su 'many-to-one'. – pavanlimo