Inverse просто решава кой обект във връзка е отговорен за актуализирането на базата данни за отразяване на асоциацията.
Да приемем двупосочна асоциация едно към много. Има два класа в кода A и B, A съдържа набор от B, B поддържа препратка към A. На ниво база данни има само един външен ключ за актуализиране, таблицата за B съдържа колона към първичен ключ на А.
В този случай приемете, че поставяме обратното =вярно от страната на набора. Това означава, че самото добавяне на обект към набора няма да задейства актуализацията на външния ключ. Тъй като отговорността за актуализиране на външния ключ е на B. Така че добавянето на B обект към набора, който A поддържа, не е достатъчно за актуализиране на колоната с външен ключ. objectA.addToSetOfB(objectB) няма да засегне външния ключ.
Само когато B получи препратка към A, външният ключ в таблицата за B ще бъде актуализиран. Така че objectB.setA(objectA) със сигурност ще актуализира външния ключ и всъщност ще настрои връзката.
Мисля, че същата концепция ще се приложи и към взаимоотношенията много към много.