我正在背负如何在单向多对一条件下加入表格?.
如果你有两个类:
class A {
@Id
public Long id;
}
class B {
@Id
public Long id;
@ManyToOne
@JoinColumn(name = "parent_id", referencedColumnName = "id")
public A parent;
}
B -> A 是多对一的关系。我知道我可以向 A 添加一个 B 集合,但是我不想要这种关联。
所以我的实际问题是,是否有创建 SQL 查询的 HQL 或 Criteria 方式:
select * from A left join B on (b.parent_id = a.id)
这将检索所有引用 A 的 B 记录的笛卡尔积的所有 A 记录,并将包括没有 B 引用它们的 A 记录。
如果您使用:
from A a, B b where b.a = a
那么它是一个内部连接,您不会收到没有 B 引用它们的 A 记录。
如果没有两个查询,我还没有找到这样做的好方法,所以任何比这少的都很好。
谢谢。