对象的状态
举例: User user = new User();
Hibernate中对象的状态: 临时/瞬时状态、持久化状态、游离状态。
临时状态
特点:
直接new出来的对象;
不处于session的管理;
数据库中没有对象的记录;
持久化状态
当调用session的save/saveOrUpdate/get/load/list等方法的时候,对象就是持久化状态。
处于持久化状态的对象,当对对象属性进行更改的时候,会反映到数据库中!
特点:
处于session的管理;
数据库中有对应的记录;
游离状态
特点
不处于session的管理;
数据库中有对应的记录
Session关闭后,对象的状态;
对象状态的转换,
@Test
public void test(){
Session session = HibernateUtil.getSession();
Transaction transaction = session.beginTransaction();
User user =new User();//直接new出来的对象 此时数据库中还没有数据 这时的状态是临时状态
user.setUserName("翁宗顺");//当调用session的save/saveOrUpdate/get/load/list等方法的时候,对象就是持久化状态。
session.save(user);//
transaction.commit();
session.close();
System.out.println(user.getUserName);//数据库中有数据 但是session关闭 在使用的对象就是游离状态
}