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

JPA bertahan banyak ke banyak

Ok pertama terima kasih kepada Mikko karena telah mengarahkan saya ke jawabannya. Saya hanya ingin memposting jawaban yang mungkin secara langsung membantu orang lain yang mungkin berada di posisi saya. Juga ini didasarkan pada momen Eureka jadi mungkin secara teknis tidak benar, tetapi beginilah cara saya melihatnya.

Masalah besar yang saya hadapi adalah bahwa di MySQL saya dapat melihat tabel penghubung sebagai tabel individual! (maaf saya tidak dapat memposting gambar diagram EER saya, tetapi sepertinya saya tidak memiliki cukup hak istimewa saat ini) Jadi saya berasumsi bahwa Java juga akan melihat tabel penghubung sebagai tabel! Yah tidak. Tabel penghubung itu tidak benar-benar ada di Java sebagai tabel konvensional, itu sebenarnya diwakili oleh tipe kumpulan tabel yang berlawanan yang Anda kaitkan dengannya.

Cara termudah untuk melihatnya bagi saya adalah dengan sepenuhnya melupakan tabel penghubung dan berkonsentrasi pada dua tabel 'nyata' dan mengaitkan data di dalamnya. Kode berikut BUKAN praktik terbaik karena saya hanya mengatur role_id tetapi tidak apa-apa hanya untuk menunjukkan maksud saya.

List<Roles> userRoleList = new ArrayList<Roles>();

Users currentUser = new Users();
currentUser.setUserId(userId);
currentUser.setUsername(email);
currentUser.setPassword(password);

Roles userRole = new Roles();
userRole.setRoleId("2");

userRoleList.add(userRole);
currentUser.setRolesCollection(userRoleList);

getUsersFacade().create(currentUser);

Harapan yang membantu orang lain yang berjuang dengan banyak hubungan.

(NB. Saya telah mengedit kode pertanyaan asli untuk menggunakan Daftar alih-alih Koleksi untuk kemudahan tetapi Anda juga dapat menggunakan jenis lain yang sesuai dengan kebutuhan Anda.)



  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 menambahkan komentar ke tabel atau kolom di mysql menggunakan SQLAlchemy?

  2. Sintaks placeholder Python MySQLdb

  3. Tipe Data Multibahasa di MYSQL

  4. Ekstensi mysql tidak digunakan lagi dan akan dihapus di masa mendatang:gunakan mysqli atau PDO sebagai gantinya

  5. Cara menjalankan Proses di Swift 3.0 dengan input standar