database - JPA - 左连接 2 个没有关联的表

标签 database jpa join entity

我有 2 个表/没有关联的实体。 我可以在 JPA 中进行交叉联接

FROM A as a, B as b WHERE b.col1=a.col1

我如何执行左连接?

我想要 A 中的所有值,并在可能的情况下用 B 值填充它们,并在没有 B 的地方保留 NULL。

不起作用:

FROM A as a LEFT JOIN B as b WHERE b.col1=a.col1

Path expected for join!

Invalid path: 'b.col1'

最佳答案

只要实体之间没有关系,您就不能在 JPA 中这样做。

解决方案:

  1. 使用原生查询。
  2. 在它们之间添加关系(最终是间接的惰性关系)。对于间接,我的意思是: A 知道 PseudoEntity, PseudoEntity 知道 B(但关系所有者是实体 B), B 知道 PseudoEntity。

关于database - JPA - 左连接 2 个没有关联的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20473033/

相关文章:

jpa 和 native 查询

PHP MySQL 多重计数连接加法

php - 在第二个查询中使用查询结果

hibernate - JPA/Hibernate - 单向 OneToOne 关联上的反向连接?

php - 在同一页面上将用户输入显示为评论

mysql - 如何将阿拉伯语转储 SQL 文件导入到 phpmyadmin 而不会出现问题?

java - 具有分隔值性能的列表

MySQL从每个组中选择最大记录并插入到另一个表中

java - 如何在Spring上获取没有关系的序列化对象

java - 在 Play Framework 中的@Entity Model 类上实现 equals() 和 hashCode() 可以吗?