Odwrotność decyduje tylko, który podmiot w relacji jest odpowiedzialny za aktualizację bazy danych w celu odzwierciedlenia powiązania.
Załóż dwukierunkową asocjację jeden do wielu. W kodzie A i B występują dwie klasy, A zawiera zbiór B, B utrzymuje odniesienie do A. Na poziomie bazy danych do aktualizacji jest tylko jeden klucz obcy, tabela dla B zawiera kolumnę z kluczem podstawowym A.
W tym przypadku załóżmy, że odwrotność =prawda po stronie ustalonej. Oznacza to, że samo dodanie jednostki do zestawu nie spowoduje uruchomienia aktualizacji klucza obcego. Ponieważ odpowiedzialność za aktualizację klucza obcego spoczywa na B. Tak więc dodanie obiektu B do zestawu, który utrzymuje A, nie wystarczy, aby zaktualizować kolumnę klucza obcego. objectA.addToSetOfB(objectB) nie wpłynie na klucz obcy.
Dopiero gdy B otrzyma odwołanie do A, klucz obcy w tabeli dla B zostanie zaktualizowany. Zatem objectB.setA(objectA) z pewnością zaktualizuje klucz obcy i faktycznie skonfiguruje relację.
Myślę, że ta sama koncepcja przeniesie się również na wiele relacji.