我已经为另一个JPA实体“B”定义了一个与@ManyToOne关系的JPA实体“A”。
@Entity
class A {
String name;
int sortOrder
@ManyToOne
B b;
}
此引用可以为null,也可以填充。现在,我想查询所有的As并按B.name排序。不幸的是,像是
find("order by B.name, sortOrder, name")
似乎放弃了任何这样的(A.b = null)。编写此查询的最佳方法是什么?
我想要所有的As,我希望它们按照B.name引用排序(如果它存在)...将所有那些没有B属性的方法整合在一起。
答案 0 :(得分:2)
你需要一个左连接。
select a from A a left join a.b b order by b.name, a.sortOder, a.name
或类似的东西。
答案 1 :(得分:0)
有几种方法......集/比较器,HQL,Native Sql,@ Sort注释......