Jooq 外键关系

问题描述 投票:0回答:1

JOOQ 中的外键关系如何运作?让我澄清一下:

  1. 主表-A
  2. 国外表-B

在代码中,您可以调用使用外部表 B.a() 访问主表的方法。

假设我正在打电话

dsl.select(B.a().ID).from(B).fetchInto(String.class);

它在JOOQ的盒子里使用左连接吗?

java spring-boot jooq spring-boot-jooq
1个回答
0
投票

隐式路径连接如果您的外键可为空,则默认使用

LEFT JOIN
;如果您的外键不可为空,则默认使用
INNER JOIN

生成的默认连接类型是:

INNER JOIN
用于具有不可为空父级的一对一路径段
LEFT JOIN
用于具有可为空父级的一对一路径段

但是,如果您总是喜欢

LEFT JOIN
,则可以覆盖此行为,例如:

Settings settings = new Settings()
    .withRenderImplicitJoinType(RenderImplicitJoinType.LEFT_JOIN);
© www.soinside.com 2019 - 2024. All rights reserved.