hibernate中Session常用方法那些事(save(),flush(),delete().......)

save () :使一个临时对象转变为持久化对象

saveOrUpdate () :如果对象已经在本session中持久化了,不做任何事
如果另一个与本session关联的对象拥有相同的持久化标识(identifier),抛出一个异常
如果对象没有持久化标识(identifier)属性,对其调用save()
如果对象的持久标识(identifier)表明其是一个新实例化的对象,对其调用save()
如果对象是附带版本信息的(通过或) 并且版本属性的值表明其是一个新实例化的对象,save()它。 否则update() 这个对象

flush()和update():
这两个的区别好理解,update操作的是在脱管状态的对象,而flush是操作的在持久状态的对象,清空缓存 刷新数据库
delete():
从数据库中删除与Java对象对应的记录。如果传入的参数是持久化对象,Session就计划执行一个delete语句。如果传入的参数是游离对象,先使游离对象被Session关联,使它变为持久化对象,然后计划执行一个delete语句。值得注意的是,Session只有在清理缓存的时候的才执行delete语句。此外,只有当调用Session的close()方法时,才会从Session的缓存中删除该对象。

clear(),load() ,get():
无论是load 还是get 都会首先查找缓存(一级缓存) 如果没有,才会去数据库查找,调用Clear() 方法,可以强制清除Session缓存。
merge ():
还不懂,求解??

你可能感兴趣的:(Hibernate,session,对象)