Inverse décide simplement quelle entité dans une relation est responsable de la mise à jour de la base de données pour refléter l'association.
Supposons une association un à plusieurs bidirectionnelle. Il existe deux classes dans le code A et B, A contient un ensemble de B, B maintient une référence à A. Au niveau de la base de données, il n'y a qu'une clé étrangère à mettre à jour, la table pour B contient une colonne à clé primaire Dans ce cas, supposons que nous plaçons l'inverse = true du côté de l'ensemble. Cela implique que l'ajout d'une entité à l'ensemble n'entraînera pas la mise à jour de la clé étrangère. Parce que la possibilité de mettre à jour la clé étrangère repose sur B. Ainsi, l'ajout d'un objet B à l'ensemble que A conserve n'est pas suffisant pour mettre à jour la colonne de clé étrangère. objectA.addToSetOfB (objectB) n'affectera pas la clé étrangère.
Seulement lorsque B est référencé A, la clé étrangère dans la table de B sera mise à jour. Donc, objectB.setA (objectA) va sûrement mettre à jour la clé étrangère et mettre en place la relation.
Je pense que le même concept portera également sur les relations plusieurs à plusieurs.