0

我需要调整查询以提高性能。对象树如下:

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 个对象?谢谢。

4

3 回答 3

2

这将是

List<Object[]> list = new ArrayList<Object[]>();
于 2012-05-31T06:37:24.607 回答
2

查询返回的结果类型为 -

 List<Object[]>
于 2012-05-31T06:47:28.650 回答
1

如果您使用 HQL,我认为您使用的是休眠。为您的对象提供具有关系(ManyToOne 或 OneToOne)的映射:

class A {

    @ManyToOne
    pribvate B b;

    @OneToOne
    private C c;
}

然后使用会话方法通过 hql 查询条件来选择您的对象 A。Hibernate 会自动为您完成所有连接。它将返回 A 列表。

于 2012-05-31T06:53:07.760 回答