hibernate查询返回多表对象的问题?知道的进来看下,谢谢

现有2个表, privilege,menus 表,我现有如下sql

SELECT m.id, m.menuId,m.parentId,m.menuName,p.privilege FROM privilege p,menus m WHERE m.id=p.menuid,但是这个没法orm,现用hibernate,如果想让返回的也是一个对象(包含m.id, m.menuId,m.parentId,m.menuName,p.privilege这几个字段值),能用get方法取值,除了建一个包含所要返回的pojo,还有什么别人方法可以?谢谢!

不是啊。用orm和这个vo没关系啊。先说你这2个表, privilege,menus 表都有对应的实体吧?实体有对应的hbm映射文件吧,这就没问题了,这已经交给hibernate管理持久化了,你就可以使用我上面说的hql语句返回你想要的vo了。vo只是为了你前台展示方便而创建的,和orm没有关系

为什么没法orm,你这个查询很简单啊。如果你这些对象都做了持久化。就好办了。

新建一个vo,vo包含你要返回的字段,然后语句使用
select new com.domain.MyVo(m.id,m.menuId) from FROM privilege p,menus m WHERE m.id=p.menuid";

你这个vo对象就出来了。。很简单!

只要你进行了关联取值肯定可以去得到的啊、就是在做展示的时候有时候可能会用到新建的VO