c=(Course)s.load(Course.class,6);
能成功获取Course;
但是用Query qury=session.createQuery("from course c where courseid=6");
然后List list =query.list();
Course c=(Course)list.get(0);
又提示course is not mapped!这是啥么原因啊..

解决方案 »

  1.   

    Query query=s.createQuery("from course c where id=6");
    这个地方你的表名course应该是Course,你看看你的映射文件!对照一下其中的<class
    name="Course"
    table="course"
    >不要写table要用name
    hibernate是跟对像打交道,不是数据库....
      

  2.   

    <class name="com.sawen21.hibernate.Course" 
                table="course"
                discriminator-value="C">
                    
            <id name="courseid">
                 <generator class="increment"/>
            </id>        <property name="coursename"/>
            
    </class>我是这样配置的啊..
    而且save  delete都成功了...load也成功但就是query不行..这又什么原因呢..
      

  3.   

    Query query=s.createQuery("from Course c where c.id=6");这样试试看看
      

  4.   

    真的保存成功了吗!
    是否有到数据库中看一下数据库中有没有你新写入的数据.
    这样写比较好吧:
    Query query=s.createQuery("from Course as c where c.id=6");
      

  5.   

    对啊,from Course as c where c.id=6中的"Course"一定要是大写才行.