Пограмматически получите внешние ключи для таблицы в jOOQ - PullRequest
1 голос
/ 13 февраля 2020

Есть ли способ программно перечислить все поля , которые являются внешним ключом в jOOQ? Он генерирует много постоянных c констант для внешних ключей, но нет хорошего способа программного доступа к ним.

Например, у меня есть таблица Orders с полем внешнего ключа customer_id. В jOOQ, скажем, у меня есть ссылка на указанный табличный объект для Orders, похоже, не существует способа программно получить ссылку на customer_id объект поля jooq. Таким образом, мое единственное решение сейчас состоит в том, чтобы вручную сделать эти отображения где-нибудь, используя буквальную структуру данных карты. Похоже, jooq мог бы сделать это для меня, я что-то упустил?

1 Ответ

1 голос
/ 13 февраля 2020

Существует много способов навигации по метамодели jOOQ. Ваше описание не полное, но я предполагаю, что вы хотели бы сделать что-то вроде этого:

for (ForeignKey<?, ?> fk : ORDERS.getReferencesTo(CUSTOMER))
    for (Field<?> fkField : fk.getFields())
        System.out.println(fkField);
...