学习笔记4——hibernate中模型对象的三种状态

hibernate中session管理持久化对象时候的三种状态转变
分别为:1、transient 透明状态 2、persistent 持久化状态 3、detached托管状态

@Test
public void testHibernateWith3Status(){

Teacher t = new Teacher() ;
t.setName("laoshi") ;
t.setTitle("超级") ;
//视频28
//此时t为状态1 transient状态,只在内存中存在,没有ID,也不在Session缓存中。
System.out.println(t.getId()) ;//输出0

Session session = sessionFactory.getCurrentSession() ;
session.beginTransaction() ;

session.save(t) ; //此时t为状态2 persistent状态,内存有,有ID,数据库有,也在Session缓存中
System.out.println(t.getId()) ;//输出ID

session.getTransaction().commit() ;//提交事务,对象脱离session管理

//此时t为状态3 detached状态 内存有,有ID,数据库有,不在session缓存中,脱离管理
System.out.println(t.getId());//输出ID

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值