我需要调整查询以提高性能。对象树如下:
classA {
classB b;
classC c;
.....}
我需要类似于 SQL 的选择:
select a.field1, b.field2, c.field3, c.field4 from a left outer join b
on a.id=b.fk left outer join c on b.id=c.fk
我不明白会返回什么样的结果,是arrayList吗?或者查询返回所有 3 个对象?谢谢。
这将是
List<Object[]> list = new ArrayList<Object[]>();
查询返回的结果类型为 -
List<Object[]>
如果您使用 HQL,我认为您使用的是休眠。为您的对象提供具有关系(ManyToOne 或 OneToOne)的映射:
class A {
@ManyToOne
pribvate B b;
@OneToOne
private C c;
}
然后使用会话方法通过 hql 查询条件来选择您的对象 A。Hibernate 会自动为您完成所有连接。它将返回 A 列表。