Inverse hanya memutuskan entitas mana dalam suatu hubungan yang bertanggung jawab untuk memperbarui database untuk mencerminkan asosiasi.
Asumsikan satu ke banyak asosiasi dua arah. Ada dua kelas dalam kode A dan B, A berisi satu set B, B mempertahankan referensi ke A. Pada tingkat database, hanya ada satu kunci asing yang akan diperbarui, tabel untuk B berisi kolom ke kunci utama dari A.
Dalam hal ini, asumsikan kita menempatkan invers =true di sisi himpunan. Ini menyiratkan bahwa hanya menambahkan entitas ke set tidak akan mengaktifkan pembaruan kunci asing. Karena tanggung jawab untuk memperbarui kunci asing terletak pada B. Jadi, menambahkan objek B ke himpunan yang A dipertahankan tidak cukup untuk memperbarui kolom kunci asing. objectA.addToSetOfB(objectB) tidak akan mempengaruhi kunci asing.
Hanya ketika B diberikan referensi ke A, kunci asing dalam tabel untuk B akan diperbarui. Jadi, objectB.setA(objectA) pasti akan memperbarui kunci asing dan benar-benar mengatur hubungan.
Saya pikir konsep yang sama akan membawa banyak ke banyak hubungan juga.