Hibernate对象持久化的三种状态

心不动则不痛 提交于 2019-12-04 00:17:05

1、三种状态:

public static void testSel() {
            Session session = HibernateUtils.openSession();
            Transaction transaction = session.beginTransaction();
            Student student=new Student();//瞬时态
            student.setSname("zzzz");//瞬时态
            student.setSex("男");//瞬时态
            student.setBirthday("2019-11-11");//瞬时态
            student.setClassno("201911");//瞬时态
            student.setPoint(111);//瞬时态
            student.setPhone("1873496511");//瞬时态
            student.setEmail("20171514@qq.com");//瞬时态
            session.save(student);//持久化状态
            transaction.commit();
            session.close();//游离状态
        }

(1)游离态(没有id没有与session关联):

(2)持久化态(有id,与session有关联),在事务没有提交之前变为持久态:

执行了session.save(student);后生成了id值,但是并未执行insert语句。

(3)游离(托管)态:有id,没有与session关联:

2、持久化状态的特点:

持久化对象的任何变化都会自动同步到数据库。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!