Mysql
 sql >> база данни >  >> RDS >> Mysql

генериране на enum клас от таблица с JOOQ

Разбира се, можете да внедрите отново премахнатата функция от ваша страна в няколко стъпки:

1. Реализирайте генератора за това enum

Ще трябва да замените JavaGenerator за да приложите генерирането на код за превод на вашите основни данни (може да са няколко таблици) в изброяванията. Как работи това зависи изцяло от вас, напр. бихте могли да имате:

  • Таблици с основни данни от една колона
  • Таблици за съпоставяне ID/VALUE
  • Таблици за съпоставяне на ID/VALUE/Коментар
  • Други оформления

2. Генерирайте ForcedType конфигурации за тези изброявания

Всеки път, когато се препраща към такава таблица с основни данни, трябва да свържете отново колоната с външния ключ към това изброяване, като използвате <forcedType/> конфигурация. Това е най-добре, като конфигурирате генерирането на код програмно , тъй като това би ви позволило да имате по-динамичен контрол върху конфигурацията за генериране на jOOQ код.

Тази стъпка е документирана по-подробно в отговора на Бил О'Нийл .

3. Предотвратете генерирането на таблици с основни данни

В допълнение към горното, вероятно трябва да премахнете самите таблици с основни данни от генерирания изход. Във вашия случай това трябва да доведе до конфигурацията:

<excludes>YNM</excludes>

Или, ако имате повече от една таблица с основни данни:

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

Изключването на тези таблици ще предотврати достъпа до тях от jOOQ клиентски код, както и ще премахне информацията за външния ключ в генерирания код, което може да е объркващо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException:Неизвестна системна променлива 'query_cache_size'

  2. Миграция на MySQL към SQL Server

  3. MySQL:разлика от два резултатни набора

  4. Как да броим артикули по категория?

  5. Припокриваща се заявка за резервация