力所能及之Hibernate中对象的三种状态

来源:互联网 发布:prisma tensorflow 编辑:程序博客网 时间:2024/06/05 15:08

小狼今天就来说说hibernate对象的三种状态

瞬时:数据库中没有数据与之对应,超过作用域会被jvm垃圾回收机制回收,一般是new出来且与session没有关联

持久:数据库中有数据与之对应,当前session有关联,并且相关联的session没有关闭,事务没有提交;持久对象状态发生改变,在事务

提交的时候会影响到数据库(Hibernate会检测到)


游离:数据库中的数据与之对应,但当前没有session与之关联:游离对象状态发 生变化,hibernate不能检测到
 



总结:    
①.对于刚创建的一个对象,如果session中和数据库中都不存在该对象,那么该对象就是瞬时对象(Transient)

②.瞬时对象调用save方法,或者离线对象调用update方法可以使该对象变成持久化对象,如果对象是持久化对象时,
那么对该对象的任何修改,都会在提交事务时才会与之进行比较,如果不同,则发送一条update语句,否则就不会发
送语句

③.离线对象就是,数据库存在该对象,但是该对象又没有被session所托管


0 0
原创粉丝点击