String hql = "select featureId,roomNo,buildingKey,roomName,roomFloor,roomStatus,rightArea,buildingFloor from ViewRoomMap where buildingKey = '"+ buildingKey + "' order by roomFloor,roomName";这句hql有问题么.  ?  为什么我拿出来的数据不是ViewRoomMap 类型的 而是Object类型的..请问是什么原因

解决方案 »

  1.   

    改成 String sql=" From ViewRoomMap map where map.buildingKey='"+ buildingKey + "' order by map.roomFloor,map.roomName";
    试下
    当然前提是 你的POJO配置了Hibernate的  映射文件
      

  2.   

    String sql="Select map From ViewRoomMap map 
    where map.buildingKey='"+ buildingKey + "' 
    order by map.roomFloor,map.roomName"; 
      

  3.   

    String sql="select new com.test.ViewRoomMap(map.featureId,map.roomNo,...) From ViewRoomMap map where map.buildingKey='"+ buildingKey + "' order by map.roomFloor,map.roomName";
    com.test.ViewRoomMap
    是你的POJO的工程路径加类名
    然后里面定义个你所需要的字段的构造函数
    然后select后面  跟的就是你这个类的对应的构造函数和需要查询出来的字段你试下先咯
      

  4.   

    如果这是样,那就用Query 获得数据。然后把它读出来保存在List里面就可以了。
      

  5.   

    另外 你只取部分字段如果是因为提高效率的话
    建议 你使用query的时候 还是查整个对象
    然后使用 query.iterator();
    而不用 query.list();
    就可以提高效率了,
    因为当你没有用到字段时,对象里面只存有主键
    需要读取某个字段的时候
    hibernate才会去缓存里找 然后再去数据库找
    类似lazy-init