第5章 HIbernate的基本用法 5.3Hibernate的体系结构

来源:互联网 发布:歪歪是什么软件 编辑:程序博客网 时间:2024/03/29 03:36


*SessionFactory:单个数据库映射关系经过编译后的内存镜像,生成Session的工厂,本身依赖于ConnectionProvider,该对象可以在进程或集群的级别上,为那些事务之间可以重用的数据提供可选的二级缓存。

*Session:是应用程序与持久存储层交互操作的一个单线程对象。它也是Hibernate持久化操作的关键对象,所有的持久化对象必须在Session管理下才可以进行持久化操作。底层封装了JDBC连接,它也是Transaction的工厂。Session对象持有一个必选的一级缓存,显式执行flush之前,所有持久化操作的数据都在缓存中Session对象中。

*持久化对象(与session关联)、瞬态对象(没有与session关联)、脱管对象(持久化对象因为Session的关闭转化为脱管状态)。

*事务(Transaction):代表一次原子性操作。

*连接提供者(ConnectionProvider):它是生成JDBC连接的工厂,它通过抽象将应用程序与底层的DataSource或DriverManager隔离开。

注:实际中很少使用DriverManager来获取数据库连接,而是使用DataSource来获取数据库连接,因此实际应用中ConnectionProvider通常由DataSource充当。由于SessionFactory底层封装了ConnectionProvider,因此在实际应用中,SessionFactory底层封装了DataSource。

事务工厂(TransactionFactory):它是生成Transaction对象实例的工厂。



0 0