简体   繁体   English

JPA - 使用 2 个外键编写连接查询

[英]JPA - Writing join query with 2 foreign keys

I have 2 entities:我有 2 个实体:

@Entity
@Table(name = "HOUSE")
public class House {
  //other fields
  @ManyToOne
  @JoinColumn(name = "OWNER_1", referencedColumnName = "OWNER_ID")
  private Owner owner1;

  @ManyToOne
  @JoinColumn(name = "OWNER_2", referencedColumnName = "OWNER_ID")
  private Owner owner2;
}

@Entity
@Table(name = "OWNER")
public class Owner {
  @Id
  @Column(name = "OWNER_ID")
  private String id;
}

I have the SQL query like this to join 2 tables:我有这样的 SQL 查询来加入 2 个表:

select a.*, b.* from HOUSE a INNER JOIN OWNER b on a.OWNER_1 = b.OWNER_ID or a.OWNER_2 = b.OWNER_ID

But I don't know how to write it in JPA query.但我不知道如何在 JPA 查询中编写它。 Anyone can help?任何人都可以帮忙吗?

JPA query would be quite similar: JPA 查询将非常相似:

select a, b 
from House a, Owner b 
where a.owner1.id= b.id or a.owner2.id = b.id

Just keep in mind that the result of query would be a List<Object[2]> , which you have to parse yourself.请记住,查询的结果将是List<Object[2]> ,您必须自己解析。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM