夕阳雨晴 2016-12-29 07:33 采纳率: 0%
浏览 2187

询问关于最新版本这个的多表关联查询JoinType.INNER_JOIN该如何写,有类似的例子最好。

我写了这句会报错
Join appInfoJoin = Root.join(
root.getModel().getSingularAttribute("dictValue", DictValuePO.class), JoinType.INNER_JOIN);
报出的异常如图所示,具体依赖版本为
compile 'org.springframework.boot:spring-boot-starter-data-jpa:1.4.2.RELEASE'
图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 13:07
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Spring Boot中,如果你想要使用JOIN类型的INNER JOIN来连接两个实体类,你可以直接使用join()方法。然而,在你的例子中,你似乎遇到了一个错误,它可能是因为JoinType参数不匹配。

    根据您的描述,您正在尝试执行以下SQL语句:

    FROM appInfo
    LEFT JOIN dictValue ON appInfo.dictValueId = dictValue.id;
    

    但是,由于JoinTypeINNER JOIN,所以你需要将其替换为JOIN类型。正确的做法是在join()方法中添加适当的JOIN类型参数。例如:

    Join<AppInfoPO, DictValuePO> appInfoJoin = Root.join(
        appInfo,
        JoinType.INNER_JOIN
    ).join(
        dictValue,
        JoinType.INNER_JOIN
    );
    

    请注意,这里我们使用了JOIN而不是INNER JOIN。这是因为在实际的数据库操作中,通常不会出现INNER JOIN以外的其他类型。

    如果您的实际情况与上述示例不同,请提供更多的上下文信息,以便我能为您提供更具体的帮助。

    评论

报告相同问题?