Hibernate 相关概念

Hibernate:

 

SessionFactory(org.hibernate.SessionFactory):
    针对单个数据库映射关系经过编译后的内存镜像,是线程安

全的(不可变)。它是生成Session的工厂,本身要用到

ConnectionProvider。该对象可以在进程或集群的级别上,为那

些事务之间可以重用的数据提供可选的二级缓存。

 

Session(org.hibernate.Sesion):
    表示应用程序与持久存储层之间交互操作的一个单线程对象

,此对象生存期很短。其隐藏了JDBC连接,也是Transaction的工

厂。其会持有一个针对持久化对象的必选(第一级)缓存,在遍

历对象图或者根据持久化标识查找对象时会用到。


持久的对象及其集合:
    带有持久化状态的、具有业务功能的单线程对象,此对象生

存期很短。这些对象可能是普通的JavaBean/PoJo,唯一特殊的是

他们正与(仅仅一个)Session关联。一旦这个Sesion被关闭,这

些对象就会脱离持久化状态,这样就被应用程序的任何层自由使

用。(例如,用作跟表示层打交道的数据传输对象)。

 

瞬态(transient)和托管(detached)的对象及其集合:
    那些目前没有与Session关联的持久化类实例。他们可能是在

被应用程序实例化后,尚未进行持久化的对象。也可能是因为实

例化他们的Session已经关闭。

 

事务Transaction(org.hibernate.Transaction):
    (可选的)应用程序用来指定原子操作单元范围的对象,它

是单线程的,生命周期很短。它通过抽象将应用从底层具体的

JDBC、JTA以及CORBA事务隔离开。某些情况下,一个Session之内

可能包含多个Transaction对象。尽管是否使用该对象是可选的,

但无论是使用底层的API还是使用Transaction对象,事务边界的

开启与关闭是必不可少的。

 

ConnectionProvider

(org.hibernate.connection.ConnectionProvider):
    (可选的)生成JDBC连接的工厂(同时也起到连接池的作用

)。它通过抽象将应用从底层的DataSource或DriverManager隔离

开。仅供开发者扩展/实现用,并不暴露给应用程序。


TransacitonFactory(org.hibernate.TransactionFactory):
    (可选的)生成Transaction对象实例的工厂。仅供开发者扩展/实现用,并不暴露给应用程序使用。

扩展接口:
    Hibernate提供了很多可选的扩展接口,你可以通过实现它们来定制你的持久层行为。

在特定“轻型”的体系结构中,应用程序可能绕过Transaction/TransactionFactory以及ConnectionProvider等API直接跟JTA或JDBC打交道。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值