1).首先当hibernate使用这些方法的时候,hibernate的对象状态由游离或者临时将会变成持久状态。
2).save() 可以不写主键,因为你写主键也没有用,它是直接忽视的。例如:session.save(ad) 而这个ad对象有ad.setid(1);ad.setpwd(1515);ad.setusername("你好");它也不会真的在id=1处帮你修改数据,它只是在数据表最后加上一条数据:pwd=1515;username="你好"。
3).update() 必须写主键,因为你看她的英文名字就知道,update修改嘛你不给它地址,他怎么知道去哪里修,没有给主键的将会报错
4).saveorupdate() 它会判断你写主键没有,如果你写了那么就按照update来处理,如果没有写那么就按照save来处理。