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对象持久化的三种状态的主要内容,如果未能解决你的问题,请参考以下文章