读书人

hibernate多表查询照射对象

发布时间: 2012-09-08 10:48:07 作者: rapoo

hibernate多表查询映射对象

在问答里和论坛中,经常看到有人问,怎样将使用本地SQL查询出来的结果映射为值对象的问题,这里就Hibernate中提供的方法做个结论。前提,这里没有使用属性的延迟加载技术。

??? 假设有个值对像,如下:


              那么Hibernate就会自动将查出来的三列内容组装到VO对象中去,只是代码量有点大,而且名称都需要重新定义为小写的,在Oracle中查出来的列都默认为大写的(不知道其它数据库怎么样)

              ??? 这个办法就不依赖于构造方法了,只需要定义私有变量,设置getter/setter方法就行了。

              ??? 不过如果更猛点的,根本就没有JavaBean对象可以填充怎么办,Hibernate可以将查出来的列组装到集合类中去。如Map。

                  List list = getSession().createSQLQuery("select * from person") .setResultTransformer(Transformers.T0_LIST); List list = getSession().createSQLQuery("select * from person") .setResultTransformer(Transformers.T0_LIST);



                  到此,还可以通过继承Transformers将结果映射为其它对象,不累述了,基本功能够用了。

                  转自:http://zpball.iteye.com/blog/681165#

读书人网 >软件架构设计

热点推荐