session.createQuery("update User set name=:name where id=:id")
.setString("name", "Mike")
.setInteger("id", 1)
.executeUpdate();
至于where条件我是写的根据id查。你自己改就可以了

解决方案 »

  1.   

    我也有同样的问题,我一般的做法,是将对象先load出来,然后交给前台,前台进行操作,根据返回的值重新new一个新的POJO进行赋值然后update,总是跨session的操作,这种情况能够dynamic-update吗?
      

  2.   

    小小大虾的方法挺好的,不过只适合于hibernate3.x,如果在2.x下这个是不支持的。不知道在2.x下有没有更好更简单的方法。
      

  3.   

    现在大伙儿用的是不是都是hibernate3.x了?
      

  4.   

    我就还用2.xhibernate批量操作确实是个问题
      

  5.   

    是啊,这可能就是升级为3.x的原因吧。对于批量操作hibernate也做出了妥协,毕竟面向对象和面向关系的东西总有不能完全兼容的地方。