s就是 Session session = sessionFactory.openSession();
定义的session  LZ的定义有问题吧

解决方案 »

  1.   

    Session session = sessionFactory.openSession();
               Transaction tx = session.beginTransaction();           String hqlUpdate = "update Customer set name = :newName where name = :oldName";
               int updatedEntities = session .createQuery( hqlUpdate ) //我将 session 代替 s 时编译没问题 但运行没成功.知道是什么原因吗?
               .setString( "newName", newName )
               .setString( "oldName", oldName )
               .executeUpdate();
               tx.commit();
               session.close();
      

  2.   

    createQuery的参数应该放查询语句吧
      

  3.   

    String hqlUpdate = "update Customer set name = :newName where name = :oldName";
               int updatedEntities = session .createQuery( hqlUpdate ) //我将 session 代替 s 时
    有问题 session .createQuery是查询的方法
    如果是update
     用 saveOrUpdate() 吧
      

  4.   

    补上面的 saveOrUpdate(pojo) 
    参数是pojo 你只需要传递个pojo进来就行了 Pojo pojo = new Pojo();
    pojo.setnewName(newName);
    pojo.setoldName(oldName); 如果oldname存在就update 不存在就insert
      

  5.   

    s是你在配置文件中用s代替了session的吧
      

  6.   

    来迟了,居然被大家瓜分了。
    第一,语句用错了,应该是saveOrUpdate() 。
    第二,那里应该是session不是s啊。