jba*_*arz 8 java orm hibernate many-to-one
如果你有两个班:
class A {
@Id
public Long id;
}
class B {
@Id
public Long id;
@ManyToOne
@JoinColumn(name = "parent_id", referencedColumnName = "id")
public A parent;
}
Run Code Online (Sandbox Code Playgroud)
B - > A是多对一的关系.我知道我可以在A中添加B的集合但是我不想要这种关联.
所以我的实际问题是,是否有创建SQL查询的HQL或Criteria方法:
select * from A left join B on (b.parent_id = a.id)
Run Code Online (Sandbox Code Playgroud)
这将检索具有引用A的每个B记录的笛卡尔积的所有A记录,并且将包括没有B引用它们的A记录.
如果您使用:
from A a, B b where b.a = a
Run Code Online (Sandbox Code Playgroud)
那么它是一个内连接,你没有收到没有B引用它们的A记录.
我没有找到一个没有两个查询的好方法,所以任何不到这个都会很好.
谢谢.
我用你发布的内容做了一个例子,我认为这可能有效:
select a,b from B as b left outer join b.parent as a在 HQL 中。
不过,我必须找到一种“标准”方式来做到这一点。
| 归档时间: |
|
| 查看次数: |
6234 次 |
| 最近记录: |