Hibernate生命周期
1、临时态也叫自由态:即只是new 类名();
2、持久态:即进行 save()、update()、saveorupdate()、delete(),跟数据库连接了
3、游离态也叫托管态:session.close/evic/clear方法关闭和数据库连接
public void test1() {
Configuration configuration = new Configuration();
configuration.configure();
SessionFactory sessionFactory = configuration.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction transcation = session.beginTransaction();
Person person = new Person();//临时态
person.setName("侯艳峰");//临时态
session.save(person);//持久态
transcation.commit();//持久态
session.close();//游离态
}
临时状态和脱管状态:
临时状态的对象肯定是从new创建来的
脱管状态的对象肯定是从持久化状态转化过来的
持久化状态的对象
可以通过session.save/update/get方法把一个对象变成持久化对象
变成持久化状态的对象只说明该对象进入了hibernate的区域
和数据库没有关系,和数据库有关系的只有事务
脱管状态的对象
可以通过session.close/evic/clear方法
上图可以看出:
在执行71行代码之前person对象已经是持久化对象了所以70行不用写,由此可以看出update()方
法虽然可以等一些方法虽然可以持久化对象,并非单纯的。持久化对象才是真的。