Hibernate基础之7:对象三种状态、增删改查时对应的状态变化
Hibernate基础之七:对象三种状态、增删改查时对应的状态变化一:SessionopenSession()和getCurrentSession()
Hibernate基础之七:对象三种状态、增删改查时对应的状态变化
一:Session
openSession() 和getCurrentSession():
openSession() 永远打开新session,需要session.close();
getCurrentSession() 如果现在有session,从现有的取一个
hibernate.current_session_context_class:配成 thread
是以一个连接为事务管理的边界
二:对象3种状态:1.Transient 瞬时状态:(刚new出来) 内存中创建对象,没有分配ID(后边都有指定的ID)
2.Persistent 持久化:(save后) 从序列分配,内存中有对应项被session管理
3.Detached 脱离管理:(commit后) 放到数据库中,内存中的对象没人用了,等待被回收
状态转换如下图所示:
三:增删改查1.save
2.delete
import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; //...........@Testpublic void testShow() {new SchemaExport(new AnnotationConfiguration().configure()).create(false,true);}