当前位置: 代码迷 >> Java Web开发 >> 大家帮我看看hibernate里的findById方法
  详细解决方案

大家帮我看看hibernate里的findById方法

热度:236   发布时间:2008-08-07 11:36:45.0
大家帮我看看hibernate里的findById方法
谢谢大家,小弟我还有个问题:就是查询的时候
public static void main(String[] args) {
        UinfoDAO dao = new UinfoDAO();
        Uinfo info = dao.findById(new Long(1));
        System.out.println("Sign is :"+info.getSign());
        dao.getSession().close();
}
只有红色的findById方法返回的是我的Uinfo类型
我要用其他的findBy...方法。比如我想用Email查询,就要用到findByEmail()。可是他返回的是List类型,怎么办啊?我试了试下面的把List转换成我的Uinfo类型,可是报java.lang.ClassCastException应该怎么转换类型啊
public static void main(String[] args) {
        UinfoDAO dao = new UinfoDAO();
        Object obj = (Object)"wx";
        try{
        Uinfo info = (Uinfo)dao.findByUname(obj);
        System.out.println("Sign is :"+info.getSign());
        }catch(HibernateException e){
            System.out.println("Entity retrieval failed.");
            e.printStackTrace();
        }finally{
            try{
                dao.getSession().close();
            }catch(Exception e){
                //do nothing;
            }
        }
}
请大家看看,帮帮我~
搜索更多相关主题的帖子: findById  hibernate  

----------------解决方案--------------------------------------------------------
Email是不是唯一的?
不行就自己写dao
俺也是菜鸟,不对别骂
----------------解决方案--------------------------------------------------------
这样转型是不行的,其实返回的list里面存的就是多个对象,你可以把list迭代出来,迭代出来的每一个元素就是一个对象,如果用范型就不用转型,如果不是范型,需要强转之后在取得对象中的属性即可
----------------解决方案--------------------------------------------------------
楼上正解!!
----------------解决方案--------------------------------------------------------
public static void main(String[] args) {
        UinfoDAO dao = new UinfoDAO();
        Object obj = (Object)"wx";
        try{
        Uinfo info = (Uinfo)dao.findByUname(obj).get(0);
        System.out.println("Sign is :"+info.getSign());
        }catch(HibernateException e){
            System.out.println("Entity retrieval failed.");
            e.printStackTrace();
        }finally{
            try{
                dao.getSession().close();
            }catch(Exception e){
                //do nothing;
            }
        }
}

----------------解决方案--------------------------------------------------------
  相关解决方案