当前位置: 首页 > 知识库问答 >
问题:

无法使用 JPA 查询交叉联接创建查询

公孙成仁
2023-03-14

jpaQuery.from(tableA,tableb)。(如何编写以下条件)。id=表格b。id()

如何使用查询dsl编写左向外连接??

这是编写eq连接的示例代码

JPA query query = new JPA query(em);

Q表A = Q表A.QTableB 表 B = QTableB 表 B

query.from(tableA, tableB). where(tableA.id.eq(tableB.id)). singleResult(tableB.name);

上面的查询我已经写了eqjoin。如何写LEFT OUTER JOIN??

你能帮帮我吗?谢谢!

共有1个答案

庄高谊
2023-03-14

您需要两个实体之间的实体关系来使用Querydsl JPA编写一个左外部连接。

e. g.

from(tableA).leftJoin(tableA.ref, tableB)...
 类似资料:
  • 我尝试在pyspark中(在Spark 1.5.0上)运行以下SQL查询:

  • 我想根据ModelB中的用户从modelA中获取数据。但这并不是强制要求我在ModelB中为每一个记录都有记录。所以当我使用下面的代码来获取数据时,它返回0条记录。 当我调试时,我发现QueryDsl将交叉联接。有人能告诉我如何修复这个问题吗?querydsl有没有办法添加左联接而不是交叉联接?下面是我的两个模型。

  • TL;DR:如何使用Spring Data JPA中的规范复制JPQL Join-Fetch操作? 在本例中,每次我要检索记录时,我还想要它关联的和记录。这一切都按预期工作,对单个的请求将引发3个查询:、和表各一个查询。 问题是,没有理由需要运行3个查询来获得具有嵌入属性和别名的单个实体。这可以在普通SQL中完成,也可以在我的Spring Data JPA存储库中使用JPQL查询完成: 如何使用规

  • 我对JPA中的继承是新手。我不知道如何查询这样的内容: 让我们假设一个联接继承映射,其中a是一个具有'id'和'name'的实体。还有从A继承的实体A1和A2。A1提供字段'int1',A2提供字段'int2'

  • 你好,我被querydsl(hibernate 4.2.3和postgresql)卡住了。一般来说,它工作得很好,但是我有一个谓词是这样构建的: 现在的问题是用户并不总是有客户。Querydsl 生成交叉联接到客户表的 sql,当用户没有客户时,此查询将返回零个条目,即使应返回这些条目。此客户已保留联接(稍微修改了Spring数据以允许联接提取字段),但仍会创建其他交叉联接。任何想法如何写这样的查

  • 那么如何将此更改为jpql查询代码呢?谢谢