save的话是不需要给数据库传ID的  可是如果想要UPDATE的话 不是要传ID吗   该怎么做才能用saveorupdate呢

解决方案 »

  1.   

    使用hibernate保存的时候参数是一个pojo。
    pojo应该对应有一个id。hibernate会根据id对应的属性来判断。如果数据库有则修改。如果没有则插入。
      

  2.   

    顶楼上,,是这样的。你要了解Hibernate里面对象的三种状态,那你就对这个方法明白了一半了。还有,save方法里面,你要是没有在配置文件,或者Annotation里面写ID是自增长的,那这个ID 还是要赋值的。就说这么多了,希望有帮助。
      

  3.   

    session的saveOrUpdate是根据对象的状态(瞬时,持久,托管)对对象进行save或update操作的,我猜楼主肯定是刚刚学习到这一块,因为实际项目中,这个方法用的应该很少(我猜的).
    当对象的状态为瞬时状态时,对对象进行save操作
    当对象的状态为持久或托管状态时,对对象进行update操作
      

  4.   

    还是不明白啊  是不是配置文件里的id的生成方式不是用increment?
      

  5.   

    saveOrUpdate(final Object entity)
      

  6.   

    当使用saveOrUpdate(Object pojo)时
    若 瞬时,即无id,则save.
    若 持久状态,即有id,数据库中也有与之对应的,则自动使用类似update()功能;使用这个的话,即可save 又可 update,一个方法搞定!
      

  7.   


    可是这个在JSP里要怎么编写呢  是不是save就不输入id的值,想update就输入呢?可是好像不行呃.....
      

  8.   


    saveOrUpdate(Object pojo) 这里的pojo传的是实例,不是ID值,你要把你要处理的实例传过来,不是传他得ID
      

  9.   

    saveUpdate()做个判断就行,如果你不做任何判断它默认的情况下应该是重新添加一天新的数据,而不是去修改原有的那条数据! 具体代码实现,上楼的高手已经搞定了!