Hibernate的状态。
1.临时对象
新生成的对象,没有session引用指向它,也没有放入session的缓存中。在数据库里没有对应的数据。
2.持久化对象
放入session缓存中,有session的引用指向它,数据库里有对应的数据,并与数据库里的数据同步。
3.游离对象
已经被持久化的对象,但不在处于session的缓存中,session已没有引用指向该对象。数据库里可能还有相对的数据,
但已经不能和数据库的数据同步。
Object obj = new Object(); 产生一个临时对象
当obj处于临时状态时:
session.save(obj);session.saveOrUpdate(obj);该临时对象被持久化
当obj处于持久化状态时:
session.delete(obj);obj由持久化对象变成临时对象
session.evict(obj);session.close();session.clear();obj由持久化对象变成游离对象
当obj处于游离状态时:
session.save(obj);session.saveOrUpdate(obj);session.lock(obj);obj由游离状态变成持久化状态