sql >> Database teknologi >  >> RDS >> Mysql

generere enum klasse fra tabel med JOOQ

Selvfølgelig kan du genimplementere den fjernede funktion på din side med nogle få trin:

1. Implementer generatoren for denne enum

Du skal tilsidesætte JavaGenerator at implementere kodegenereringen til oversættelse af dine stamdata (kan være flere tabeller) til enums. Hvordan det fungerer, er helt op til dig, f.eks. du kunne have:

  • Stamdatatabeller med en enkelt kolonne
  • ID/VALUE-tilknytningstabeller
  • ID/VÆRDI/kommentartilknytningstabeller
  • Andre layouts

2. Generer ForcedType konfigurationer for disse enums

Når der henvises til en sådan stamdatatabel, skal du genkoble fremmednøglekolonnen til denne enum ved hjælp af en <forcedType/> konfiguration. Dette gøres bedst ved at konfigurere din kodegenerering programmatisk , da det ville give dig mere dynamisk kontrol over din jOOQ-kodegenereringskonfiguration.

Dette trin er dokumenteret mere detaljeret i Bill O'Neils svar .

3. Forhindrer generering af stamdatatabellerne

Ud over ovenstående bør du sandsynligvis fjerne selve stamdatatabellerne fra dit genererede output. I dit tilfælde skulle dette resultere i konfigurationen:

<excludes>YNM</excludes>

Eller, hvis du har mere end én stamdatatabel:

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

Udelukkelse af disse tabeller vil forhindre adgang til dem fra jOOQ-klientkode, samt fjerne fremmednøgleoplysninger i genereret kode, hvilket kan være forvirrende.



  1. 2 måder at oprette en tabel på en sammenkædet server ved hjælp af T-SQL

  2. Mysql-dækkende vs sammensat vs kolonneindeks

  3. Laravel 5:synkronisering af et ekstra felt via pivot

  4. datetime til totalminute i sql