本帖最后由 wxhwdmxl 于 2012-01-19 16:06:43 编辑

解决方案 »

  1.   

    把你的代码贴出来 ,,Hibernate可能将你的sql语句 当成HQL执行了
      

  2.   

    我的查询语句//获得hibernate session
    Session sess=HibernateUtil.currentSession();
    //开始事务
    Transaction tx=sess.beginTransaction();
    String sqlString = "select * from Smassage";
     //以SQL语句创建SQLQuery对象
        List l = sess.createSQLQuery(sqlString)
                         //将查询ddd实体关联的Smassage类
                         .addEntity("ddd",Smassage.class)
                         //返回全部的记录集
                         .list();
         //遍历结果集
        System.out.println("error11111");
         Iterator it = l.iterator();我的查询语句
      

  3.   

    select * from Sumassage
    你这句到底是SQL 还是HQL  
      

  4.   

    sql:select * from smassage;
    hql:from Smassage;
      

  5.   


    嗯,是有区别的,Hibernate也是支持原生态SQL语句的,说实话这段代码是我上一个项目里面的,代码都没改,日志显示Hibernate: select * from Smassage之后就报错了,前面那个系统没有任何问题哦
      

  6.   

    6楼已经告诉你 我为什么要这么问了
    createSQLQuery()是使用SQL语句的
    createQuery()是使用HQL语句的
      

  7.   

    如果我这么写select * from Smassage应该没问题吧,
      

  8.   

    这个问题真奇怪,,他不是提示找不到列id0_么,我就把数据库里的列名改成id0_,然后他又提示我的第二个列名不对,按照报的错误,依次将四个列名都改了居然查询成功了,那么问题在哪里呢?为什么改了列名就行了呢?要知道,我用的可是hibernate啊,之前的列名可是id,我反转工程的时候也是id,那么我现在把数据库里面的列名改了,应该报错才对啊!!什么情况啊!!
      

  9.   

    哈哈!!!sql 语句的问题,你仔细看看,语句太多混了吧
      

  10.   

    哥们,就一句select * from smassage
    混淆不至于吧问题是我现在完全晕了啊
      

  11.   

    检查一下你的Smassage.hbm.xml里(或者注解映射),有没有跟数据库表里字段不一致的地方。addEntity后,会按hbm做匹配,createSQLQuery也不是真正的原生,只是SQL语句直接发给DB,但返回值还是要按hbm的定义解析的,如果真写原生的,就把connection拿出来写吧,虽然这不是建议的方式。
      

  12.   

    映射我用的是myeclipse的反转工程搞的,应该不会有问题的
      

  13.   

    没遇到过这类问题
    用hibernate为什么不用HQL呢,觉得也挺好用的,又符合hibernate的特性
      

  14.   

    楼主,,,你别按着Hibernate的提示改啊 ,数据库改回来吧,,
    你在配置文件中加一句:
    <property name="show_sql" >true</property>
    然后你执行  看看后台Hibernate向数据库发送的SQL语句  就知道了  
      

  15.   


    select * from smassage
    改成 指定列名如:
    select 列名1,列名2 from smassage
      

  16.   

    遇到这样的问题时用的开发工具是myeclipse6.5,我就在想啊,过程、代码都没问题,怎么会有这样的错误嗯,实属罕见啊,于是我关闭myeclipse6.5,打开myeclipse8.5(前面的工程都是用8.5做的,没有出现问题),然后把数据库字段又改回原始的,用8.5重建工程,复制了6.5里面写的serlvet和dao、JSP、JS等文件,只用8.5做了一件事:对数据库表smassage反转工程,更改web.xml,然后发布工程,重启服务器,测试,然后成功.....没有出现问题,我就觉得是6.5对数据表反转的时候自动加了什么属性,你想啊,我当时对smassage数据表反转工程的时候字段值就是id,name,time,beizhu当他提示错误的时候我把字段改为了id0_,name1_0_0_,time2_0_0_,beizhu0_0,我的Smsssage.java文件都没改,他怎么就能查出东西还不报错了?
      

  17.   

    不会吧!从来没遇见过  检查一下你的xml文件和实体吧  肯定是哪里用的id0_,name1_0_0_,time2_0_0_,beizhu0_0  不然不会 select出来的
      

  18.   

    这里就是映射文件的问题,mapping文件与数据库列对照那有问题。