hibernate中Session的persist() 和 save() 方法的区别

save()方法完成以下三个操作:

 1.使一个临时对象转变为持久化对象(把对象加入到session缓存中)

 2.选用映射文件指定的标识符生成器,为持久化对象分配唯一的OID

(在使用代理主键的情况下,setId()方法为对象设置Oid是无效的)

 注意:持久化对象的id是不能被修改的

 3.计划执行一条insert语句:在flush缓存的时候


persist() 方法:也会执行insert操作

与save()的区别是在调用persist()方法前若对象已经有了ID,不会执行insert操作,且会抛出异常

猜你喜欢

转载自blog.csdn.net/weixin_41069280/article/details/80509393