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

hasilkan kelas enum dari tabel dengan JOOQ

Tentu, Anda dapat menerapkan kembali fitur yang dihapus di pihak Anda dalam beberapa langkah:

1. Implementasikan generator untuk enum itu

Anda perlu mengganti JavaGenerator untuk mengimplementasikan pembuatan kode untuk terjemahan data master Anda (mungkin beberapa tabel) ke enum. Cara kerjanya sepenuhnya terserah Anda, mis. Anda bisa memiliki:

  • Tabel data master kolom tunggal
  • Tabel pemetaan ID/VALUE
  • Tabel pemetaan ID/VALUE/Komentar
  • Tata letak lainnya

2. Buat ForcedType konfigurasi untuk enum tersebut

Kapan pun tabel data master tersebut direferensikan, Anda harus menyambungkan kembali kolom kunci asing ke enum tersebut menggunakan <forcedType/> konfigurasi. Hal ini paling baik dilakukan dengan mengonfigurasi pembuatan kode Anda secara terprogram , karena itu akan memungkinkan Anda untuk memiliki kontrol yang lebih dinamis atas konfigurasi pembuatan kode jOOQ Anda.

Langkah ini didokumentasikan lebih detail dalam jawaban Bill O'Neil .

3. Cegah pembuatan tabel data master

Selain di atas, Anda mungkin harus menghapus tabel data master itu sendiri dari output yang Anda hasilkan. Dalam kasus Anda, ini akan menghasilkan konfigurasi:

<excludes>YNM</excludes>

Atau, jika Anda memiliki lebih dari satu tabel data master:

<excludes>YNM|OTHER_MASTER_DATA_TABLE|...</excludes>

Mengecualikan tabel ini akan mencegah mengaksesnya dari kode klien jOOQ, serta menghapus informasi kunci asing dalam kode yang dihasilkan, yang mungkin membingungkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan Pentaho Kettle, bagaimana cara memuat beberapa tabel dari satu tabel sambil menjaga integritas referensial?

  2. Penggabungan string NHibernate / MySQL

  3. Apa yang setara dengan sqlite dari MySQL's INTERVAL dan UTC_TIMESTAMP?

  4. Haruskah saya menggunakan koneksi persisten mysql?

  5. Tabel MySQL ditandai sebagai macet dan perbaikan terakhir (otomatis?) gagal