zoukankan      html  css  js  c++  java
  • Hibernate的工作流程以及三种状态

    Hibernate的工作流程:

    1. 读取并解析配置文件

    2.读取并解析映射信息,创建SessionFactory 

    3. 打开Sesssion 

    4.创建事务Transation 

    5. 持久化操作

    6.提交事务 

    7.关闭Session 

    8. 关闭SesstionFactory 

     

     

     

    Hibernate中bean 的三种状态

     

    Hibernate对象分为三种状态:瞬时态(new 出来的或者实例化时session无关的),

    持久态(session关联)与游离态(曾经与session关联)。其中持久态的对象是PO

    ,瞬时态、托管态的对象可作为VO。(PO不应该直接用作v层)所以在使用中应该注意三态的转化。

    如:

    在进行数据操作的一系列过程中,save或者saveorupdate操作可以把瞬时态或者游离态的对象转换成持久态,而

    delete或者session的close、flush等操作将会把session相关联的持久态对象转换成游离态。

     

     

    Hibernate对象的状态和生命周期

     

    使用new操作符初始化的对象是一个瞬时态的(Transient)

    (没有任何跟数据库表相关联的行为,只要应用不再引用这些对象,它们的状态就会丢失,并由垃圾回收机制回收);

    瞬时态对象经过save(),saveOrUpdate会转换成持久态,由session统一管理,持久态对象的操作与数据库同步;

    持久态对象经过evict(),close(),clear()等会转换成游离态,这时虽然被持久化,但是不在session缓存中,通过

    lock(),update(),saveOrUpdate又会转换成持久态。 通过get(),load(),find(),iterate()

    获得的对象直接就是持久态的。

     

     

  • 相关阅读:
    Python笔记220151023
    B/S和C/S【转载Jane的博客 http://blog.sina.com.cn/liaojane】
    Java Queue
    Java 使用 .this与.new
    Java多态继承与清理
    Java 匿名类
    Java 内部类2
    java 中的多重继承
    Java 内部类
    Java 异常(自定义异常)
  • 原文地址:https://www.cnblogs.com/fifiyong/p/6390699.html
Copyright © 2011-2022 走看看