Mj mj=(Mj)this.getHibernateTemplate().find("from Mj where mjname='关羽'").get(0);
System.out.println(mj.getMjname());死活没有数据 get直接报错 下面是hibernate输出来的查询语句
select mj0_.id as id0_, mj0_.mjxj as mjxj0_, mj0_.mjname as mjname0_, mj0_.mjts as mjts0_, mj0_.mjnz as mjnz0_, mj0_.mjyw as mjyw0_, mj0_.mjzm as mjzm0_, mj0_.mjzsx as mjzsx0_, mj0_.mjtscz as mjtscz0_, mj0_.mjnzcz as mjnzcz0_, mj0_.mjywcz as mjywcz0_, mj0_.mjzmcz as mjzmcz0_, mj0_.mjql as mjql0_, mj0_.mjld as mjld0_, mj0_.mjys as mjys0_, mj0_.mjxl as mjxl0_, mj0_.mjcb as mjcb0_, mj0_.mjzj as mjzj0_, mj0_.mjjyz as mjjyz0_, mj0_.mjjydj as mjjydj0_ from mj mj0_ where mj0_.mjname='关羽'拿到mysql-font里面执行又能查到数据

解决方案 »

  1.   

    最后代码调试一下,get报错,很有可能是里面没有任何数据
      

  2.   

    有可能是字符集的问题,关羽这两个到数据库是不是乱码?你通过程序insert一条带汉字的看看。
      

  3.   

    ((Mj)this.getHibernateTemplate().find("from Mj where mjname='关羽'")).get(0);  这样试试。
      

  4.   

    你应该是集合的get取错了.,列如 list.get(0) 这个list是个完整的集合对象。所以你首先要把你查询的整个集合对象包起来,再.get(0)获取第一个。
      

  5.   

    检查下你的 setter 方法。看看是否不符合javaBean的规范
      

  6.   

    不好意思 这两天没时间 到数据库也没有乱码呀 我update修改成中文都没有错误呀
      

  7.   

    hibernate输出来的语句 我拿到数据库执行是有数据的
      

  8.   

    你看看集合中是否有东西,看看其size是否为空呢?hibernate输出来的语句 我拿到数据库执行是有数据的
      

  9.   

    试一下new个对象 然后再get会不会爆异常
      

  10.   

    同12L  你试试输出集合全部  不要Get(0)