hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决?

解决方案 »

  1.   

    你为什么会有这个需求?返回自己实体,里面的属性你可用可不用,用hibernate就别考虑内存问题
      

  2.   

    是通过sql 查询的  没有对应的实体类
      

  3.   

    返回的是一个List<Objcet[]>这样的类型,你可以另外创建一个DTO然后通过循环,把Object[]中的每一个值,与dto中的字段对应,组成一个List<dto>的对象
      

  4.   

    People , Card 一个人和身份证
    People:id ,name, age; Card:id, num.
    现在通过查询出People表中的id, name;Card中的id, num; 那么现在List<Object[]> 中的Object[]有四个值分别对应:
    People表中的id, name;Card中的id, num。
    那么我定义一个dto :InfoDTO public class InfoDTO{
        private int peopleId;
        private String name;
        private int cardId;
        private String num;    ...
       //成员变量的set和get方法
        
    }然后循环List<Objcet[]>, 取出Object[], obj, 数组是有序的,那么我们就可以把InfoDTO类型的dto引用;   dto.setPeopleId(Integer.parseInt(ojb[0]));
       dto.setName(b[1].toString());
       .....