Hibernate中transient、persistent、detached对象三者区别

    1.  在Hibernate中,对象具有三种状态:transient、persistent和detached。
    2.  同Hibernate的session有关联的对象是persistent对象。对这种对象进行的所有修改都会按照事先设定的刷新策略,反映到数据库之中,也即,可以在对象的任何一个属性发生改变时自动刷新,也可以通过调用Session.flush()方法显式地进行刷新。
    3.  如果一个对象原来同Session有关联关系,但当下却没有关联关系了,这样的对象就是detached的对象。 可以通过调用任意一个session的update()或者saveOrUpdate()方法,重新将该detached对象同相应的seesion建立关联关系。
    4.  Transient对象指的是新建的持久化类的实例,它还从未同Hibernate的任何Session有过关联关系。 可以调用persist()或者save()方法,将transient对象变成persistent对象。
 注意:这里所说的transient指的不是 Java中的transient关键字。

你可能感兴趣的:(Hibernate中transient、persistent、detached对象三者区别)