资源描述
,持久化对象生命周期,课程代码:,课程介绍,目的:掌握持久化对象的生命周期,Session对象的“脏”数据检查,Session接口的核心方法内容:讲解持久化对象的生命周期,Session对象的“脏”数据检查和Session接口中的几个核心方法的使用重点:持久化对象的生命周期难点:Session对象的“脏”数据检查,持久化对象生命周期的状态,Transient状态,Guestbookgb=newGuestbook();gb.setName(“刘备);gb.setEmail(“liubei);gb.setPhone(01082502282);gb.setCreatedTime(newjava.util.Date();gb.setTitle(我喜欢这个网站);,Persistent状态,Sessionsession=HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();Transactiontx=session.beginTransaction();Guestbookgb=newGuestbook();gb.setName(“刘备);gb.setEmail(liubei);gb.setPhone(01082502282);gb.setCreateTime(newjava.util.Date();gb.setTitle(我喜欢这个网站);session.save(gb);,Detached状态,Sessionsession=HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();Transactiontx=session.beginTransaction();Guestbookgb=(Guestbook)session.get(Guestbook.class,newInteger(1);mit();session.close();gb.setName(“张飞);,Removed状态,Sessionsession=HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();Transactiontx=session.beginTransaction();Guestbookgb=(Guestbook)session.get(Guestbook.class,newInteger(1);session.delete(gb);mit();,Session对象的“脏”数据检查,Persistent状态的对象受Session的管理,我们对对象的属性值的修改,在Session对象调用close()方法或者Transaction对象执行commit()方法之后,数据库中对应的数据也会跟着进行同步更新,Sessionsession=HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();Transactiontx=session.beginTransaction();Guestbookgb=(Guestbook)session.get(Guestbook.class,newInteger(1);gb.setName(“张飞);gb.setPhone(01082502282);mit();,Session接口的核心方法,saveOrUpdate()方法,Sessionsession=HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();Transactiontx=session.beginTransaction();Guestbookgb=(Guestbook)session.get(Guestbook.class,newInteger(1);mit();gb.setName(“张飞);session=HibernateSessionFactoryUtil.getSessionFactory().getCurrentSession();tx=session.beginTransaction();session.saveOrUpdate(gb);mit();,本章小结,本章先讲解了Hibernate生命周期的基本概念,接着详细讲解了Hibernate生命周期中几个状态,以及这些状态之间如何进行转换。最后还详细讲解了Session接口中主要核心方法的使用。,思考与练习,请说明Session接口中,核心的方法有那些。请说明持久化对象生命周期的状态有那些。请说明持久化对象生命周期中的各个状态之间,如何进行转换。,
展开阅读全文