Как создать собственный генератор JOOQ? - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть конкретная схема Postgre, которая собирает все таблицы, определяющие типы, например Status(name, description), где значения могут быть OPEN, Open item status, CLOSED, Closed item status и т. Д.

Нам нужно извлечь все эти таблицы и сгенерировать на их основе перечисления, чтобы потом использовать их в нашем приложении. Итак, эти перечисления должны выглядеть так:

enum Status {
    OPEN("Open item status"),
    CLOSED("Closed item status")
    ...
}

Мы решили использовать JOOQ, который выглядит довольно интересно, но мы не можем найти документацию / примеры для создания собственного генератора, который использует поведение генератора java по умолчанию плюс пользовательское расширение генерации перечисления.

Основываясь на этом посте генерирует перечислимый класс из таблицы с JOOQ , он принес некоторые идеи, но все еще не ясно, что нужно сделать, чтобы достичь того, что говорится в ответе.

Обновление: чтобы плагин jooq-codegen-maven мог выбрать мой собственный генератор, я создал отдельный проект и добавил его jar как зависимость моего родительского проекта. Я создал класс MyGenerator и увеличил его с JavaGenerator. Чтобы получить org.jooq.codegen.JavaGenerator, я должен был добавить ниже maven-зависимость (не входящую в spring-boot-starter-jooq):

<dependency>
    <groupId>org.jooq</groupId>
    <artifactId>jooq-codegen-maven</artifactId>
    <version>3.11.2</version>
</dependency>

После того как это сделано и унаследовано от JavaGenerator, в соответствии с пост-ответом я должен подключиться к методу generate(SchemaDefinition), однако это не защищенная область, поэтому я думаю, что здесь что-то упущено.

Знаете ли вы или можете привести пример, описывающий, как написать этот тип генератора кода для перечислений? Мне нужен JOOQ для генерации кода, как обычно, для конкретной схемы, но помимо этого мне нужно запросить другую конкретную схему «enum», которая содержит только эти таблицы «enum».

...