码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate对象持久化的三种状态

时间:2019-11-09 13:52:15      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:new   语句   ESS   begin   session   持久   void   sel   student   

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对象持久化的三种状态

标签:new   语句   ESS   begin   session   持久   void   sel   student   

原文地址:https://www.cnblogs.com/zhai1997/p/11824940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!