我有两节课。例如:
class A {
public Long id ;
}
class B {
public Long id ;
public A a ;
}
B和A有多对一的关系。 我可以像这样得到B的列表:
"from B b left join b.a a where a.id > 10 and b.id > 10 "
。
但是如何在相同的连接条件下获得A列表呢?我无法导航A到B,有什么解决方案吗?我可以使用标准吗?
ps:我可以这样做:
“select a from A a , B b where b.a.id = a.id
”?
答案 0 :(得分:0)
小心
select a from A a , B b where b.a.id = a.id
我认为你可能会在最终的sql查询的from子句中找到两次表A(一个是由于来自hql from子句的'A a'而第二个是由于where子句中的baid,自动由hibernate添加。(但我不确定,你需要检查它。)
不
select b.a from B b left join b.a a where a.id > 10 and b.id > 10
工作?
答案 1 :(得分:0)
您的示例应该有效,但您尝试过:
select b.a from B b where b.id > 10 and b.a.id > 10
是的,这应该可以使用Criterias。