PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Hibernate 'Inverse' dalam file pemetaan

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat enum Java &Postgres bekerja sama untuk pembaruan?

  2. Bagaimana cara menekan pesan INFO saat menjalankan skrip psql

  3. SALIN hanya beberapa kolom dari masukan CSV?

  4. Bagaimana cara mengakses kolom HSTORE menggunakan pustaka PostgreSQL C (libpq)?

  5. Kembalinya XFS di Linux