Hibernate对象持久化的三种状态

Posted zhai1997

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate对象持久化的三种状态相关的知识,希望对你有一定的参考价值。

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、持久化状态的特点:

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

技术图片

 

 

以上是关于Hibernate对象持久化的三种状态的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate对象持久化的三种状态

JavaWeb_(Hibernate框架)Hibernate中对象的三种状态

hibernate对象的三种状态及转换

Hibernate---对象的三种状态

深入hibernate的三种状态

hibernate实体对象的三种状态:自由状态,持久状态,游离状态.