0

我使用 ResultTransformer 映射到简单的非托管实体,即与其他实体没有关系。但我想知道是否可以通过休眠映射到一组相关的非托管实体?为了清楚起见,如果我有一组如下所示的非托管实体,

Class A {
    private String a;

    List<B> bs;

    // getters and setters
}

Class B {
    private String b;

    List<C> cs;

    // getters and setters

}

Class C {
    private String c;

    // getters and setters
}

我有一个如下所示的 SQL,

select 
    a.a, 
    b.b, 
    c.c 
from 
    a 
    left join z on z.id = a.id 
    join b on b.id = z.id 
    left join c on b.id = c.id

然后我想做类似的事情

.setResultTransformer(Transformers.aliasToBean(A.class))

我知道我可以在没有 ResultTransformer 的情况下通过查看返回的数据并自己填充对象图来做到这一点。如果我必须编写该逻辑,我想将其实现为自定义 ResultTransformer。你认为这样做是否明智?

任何想法或帮助将不胜感激。谢谢!

4

0 回答 0