各位好:现在有以下代码..
         List<Object> objList = obj.methodName(params....);
         // obj.methodName();这个方法返回的是一个List<Object> 而实际上这个Object可能是任何我自定义的对象..如(Address,User,Resource)..
然后我希望把List<Object> 转换成 List<Address>对象,我应该如何转换呢. ?(如果是迭代,我感觉比较麻烦,且效率较低,强制类型转换报语法错误.有没有其他的办法呢. ?)粘贴出实际的代码 : @Override
public List<AddressBean> list() throws Exception { 
                // HibernateDAOUtil.getObjectList 方法内部实现就是. HibernateDAOUtil
                //.getSession().createCriteria(AddressBean.class).list()
List<Object> list = HibernateDAOUtil.getObjectList(AddressBean.class, null);
return List<AddressBean> list;
}
现在这段代码  return List<AddressBean> list;这里如果强制类型转换的话,报语法错误..
有什么其他解决问题的办法吗.?
先谢过了..

解决方案 »

  1.   

     
            List<AddressBean> list = HibernateDAOUtil.getObjectList(AddressBean.class, null);
            return list;
      

  2.   


     @Override
        public List<AddressBean> list() throws Exception { 
                    // HibernateDAOUtil.getObjectList 方法内部实现就是. HibernateDAOUtil
                    //.getSession().createCriteria(AddressBean.class).list()
            List<Object> list = HibernateDAOUtil.getObjectList(AddressBean.class, null);
           
            List<AddressBean> result=new ArrayList<AddressBean>();
            result.addAll(list);
            return result;
        }
      

  3.   


    "其实Hibernate事务很关键的!"能说说这句话的高见吗. ?
      

  4.   

            List<AddressBean> list = HibernateDAOUtil.getObjectList(AddressBean.class, null);
            return list;
    这么写不行..因为 HibernateDAOUtil.getObjectList(AddressBean.class, null);
    的返回结果.. 是 List<Object>方法签名如下:      
            public static List<Object> getObjectList(Class className, List<HqlParam> params) throws Exception {
    return executeHibernateQueryList(buildHqlBySqlParams("from " + className.getSimpleName(), params), params);
    }包括强制类型转换也不行
             //语法报错.
            List<AddressBean> list = (List<AddressBean>) HibernateDAOUtil.getObjectList(AddressBean.class, null);
            return list;自己找到解决办法了..
    解决办法..
    1:        public static List<?> getObjectList(Class className, List<HqlParam> params) throws Exception {
    return executeHibernateQueryList(buildHqlBySqlParams("from " + className.getSimpleName(), params), params);
    }泛型类型设置为? . 或者不使用泛型~.. 返回结果就直接一个List然后在代码中..        List<AddressBean> bean = (List<AddressBean>) HibernateDAOUtil.getObjectList(AddressBean.class, null);谢谢楼上几位了..ouyangqinxin 能说说hibernate处理的高见吗 ?  我现在知道的事务处理方法用Filter控制, 或用Spring..还有啥别的办法吗. ? ouyangqinxin ~