树状JAVA对象查询封装问题

请问大家,如何查询树状JAVA对象,并封装到每个JAVA对象内?

比如:
PolicyDTO内有 coverageDTO[]数组属性
coverageDTO内有 undwrtDTO[]数组属性

整个层级关系为:
PolicyDTO
---coverageDTO
-------undwrtDTO

表结构层级关系与对象一致

如何查询才能更有效地查出数据并封装到一个PolicyDTO内呢,并且能够保证PolicyDTO内的数组数据也都存在?

在Hibernate中配置的对象有级联查询的方式,比如我query得到PolicyDTO后PolicyDTO.getCoverageDTO()也会自动的查出数据

这个是如何实现的呢

如果不用hiberate,用一个SQL,left join方式将数据都查出来,如何对JAVA对象set值才会分割出不同层级的数据

这种方式应该是比较常见的。。。想知道别人是用啥方法处理这类问题的,多谢多谢,期待回复。。

jxpath包
不想用的话可以写底归实现
基本就是每个DTO实现一个子类的查找接口
责任链

用Hibernate:配置PolicyModel时将lazy="false";就能达到“uery得到PolicyDTO后PolicyDTO.getCoverageDTO()也会自动的查出数据” 的效果。

不用Hibernate:我得解决方法是使用循环将得到的所有数据放到不同的对象中,最重形成三个List,即PolicyModelList、coverageModelList、undwrtModelList,然后形成他们的层级关系就简单了。

我说的“用循环将得到的所有数据放到不同的对象中,形成三个List”,使在一个方法里得到的,即使用sql或hql语句得到查询结果List,可以得到很多你想要的属性(或者说是字段)的值,将这些值取出来后塞到相应的Model中,就可以啦,不需要使用三个方法。

对,就是这个意思,这样既能得到Model,又能形成层级关系。