以编程方式获取 jOOQ 中表的外键

Posted

技术标签:

【中文标题】以编程方式获取 jOOQ 中表的外键【英文标题】:Pogrammatically get foreign keys for a table in jOOQ 【发布时间】:2020-05-29 07:30:07 【问题描述】:

有没有办法以编程方式列出 jOOQ 中的所有 Fields,它们是 Foreign Key?它会为外键生成大量静态常量,但没有很好的方式以编程方式访问这些常量。

例如,我有一个表Orders,其外键字段为customer_id。在 jOOQ 中,假设我对 Orders 的 table object 有引用,似乎没有办法以编程方式获取对 customer_id jooq 字段对象的引用。所以我现在唯一的解决方案是使用文字映射数据结构在某处手动制作这些映射。好像 jooq 可以为我做到这一点,我错过了什么吗?

【问题讨论】:

【参考方案1】:

导航 jOOQ 元模型的方法有很多。你的描述不完整,但我假设你会想做这样的事情:

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

【讨论】:

是的,谢谢。我尝试搜索“keys”或“Foreign”,但没有在长长的 api 调用列表中找到它。 TY 的及时响应。

以上是关于以编程方式获取 jOOQ 中表的外键的主要内容,如果未能解决你的问题,请参考以下文章

JPA:查询以根据实体类中定义的外键值获取结果?

JOOQ 获取外键表

如何使用 CodeIgniter 3 中的外键从表中获取列数据

从刀片中的外键获取数据

如何让 jOOQ 生成不引用主键的复合外键?

获取请求导致父管理对象的外键为空