Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Milik polimorfik dalam banyak ke banyak pemetaan dalam grails?

Hibernate dapat memetakan antarmuka - lihat contoh . Saya ragu apakah Grails mendukung ini dalam pemetaan menurut konvensi - tetapi Anda dapat mencoba menggunakan pemetaan anotasi dari contoh di atas, atau konfigurasi XML.

edit :menjawab pertanyaan komentar:

Pada tingkat database, Anda harus memiliki Taggable tabel untuk Tag.References untuk referensi dengan kunci asing.

  1. Diskriminator TIDAK akan mengalahkan polimorfisme, jika ditambahkan secara otomatis - misalnya, dalam pemetaan tabel-per-hierarki, Hibernate/Gorm menambahkan class bidang untuk mengetahui kelas konkret saat membaca objek dari db.

  2. Jika Anda memetakan Taggable . Anda s ke dua tabel - Taggable bagian ke Taggable dan segala sesuatu yang lain ke tabel tertentu, direferensikan 1:1 - semua pekerjaan diskriminator harus dilakukan untuk Anda oleh Hibernate.

BTW class bidangnya cukup panjang - berisi nama kelas yang sepenuhnya memenuhi syarat .

edit 2 :Bagaimanapun, ini menjadi sangat rumit, dan saya pribadi akan menggunakan pendekatan yang saya sarankan dalam pertanyaan lain :

  • mengkueri semua kelas secara dinamis dengan antarmuka yang dapat diberi tag untuk hasMany=[tags:Tag] properti;
  • atau, kurang disukai - memiliki meja anak kerajinan tangan dan diskriminator.



  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 menghentikan seseorang untuk kembali ke halaman sebelumnya?

  2. Dapatkan nilai sebelumnya setelah pembaruan - MySql

  3. Permintaan MySQL untuk menemukan bobot tepi dalam grafik

  4. Perl DBI menyisipkan beberapa baris menggunakan kemampuan menyisipkan multipel asli mysql

  5. Bagaimana cara menghubungkan ke MySQL di Amazon EC2 dari Linux / Mac?