hibernate的三种状态转换

hibernate有三种状态,分别为瞬时状态、持久化状态、游离或托管状态。

1.瞬时状态:

是指刚创建一个实例对象,没有与自增的id和session有关联

SessionFactory conf=new Configuration().configure().buildSessionFactory();
Session session = conf.openSession();
		//session获得操作事务的Transaction对象,此为获得一个事务对象并开启事务
Transaction ts=session.beginTransaction()
Customer cus=new Customer();//没有id,没有与session有关联=》瞬时状态
cus.setCust_name("旺达");瞬时状态

2.持久化状态

当进行保存时、更新会变成持久化状态

session.save(cus);//持久化状态--与id、session有关联
session.update(cus);//持久化状态--与id、session有关联

3.游离状态

当与某持久状态关联的session关闭之后,即由持久状态转变为游离状态

session.close();//释放资源---游离状态,数据库里面跟id有关,但跟session无关 ,即数据库存在该对象,但是该对象又没有被session所托管

三种状态的转换图可以描述为:


saveorupdate()方法可以把游离对象和瞬时对象转变为持久对象。

转变为持久化状态的好处是:使hibernate自动进行数据库的操作,实时更新数据库



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值